質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

1回答

2874閲覧

Warning: Parameter 2 to mysqli_stmt::bind_param() expected to be a reference, value given in xxx

alkeran

総合スコア29

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2017/06/25 02:05

以下のコードを実行すると表題のエラーメッセージが出ます。サイトによっては$paramsの前に'&'を加えるとのことですが他のエラーメッセージが出てしまいます。ちなみにcodeはアルファベット1文字を含む12ケタの数列、priceは4ケタの数列です。xxx.csvの中身は$row[0]はcodeに、$row[5]はpriceに対応しています。
ご教授のほどよろしくお願いいたします。

php

1<?php 2// mysqliクラスのオブジェクトを作成 3$mysqli = new mysqli('xxx', 'xxx', 'xxx', 'xxx'); 4if ($mysqli->connect_error) { 5 echo $mysqli->connect_error; 6 exit(); 7} else { 8 $mysqli->set_charset("utf8"); 9} 10 11$id=[]; 12$val=[]; 13if (($fp = fopen("xxx.csv", "r")) !== FALSE) { 14 while (($row = fgetcsv($fp, 1000, ",")) !== FALSE) { 15 $id[]=$row[0]; 16 $val[]=strval(str_replace(",","",$row[5]))+0; 17 } 18 fclose($fp); 19} 20$prepare_param=implode(",",array_fill(0,count($id),"?")); 21$sql ="update `tb_name` set `price`=COALESCE(ELT("; 22$sql.="FIELD(`code`,".$prepare_param.")"; 23$sql.=",".$prepare_param."),`price`)"; 24print $sql; 25 26$params=[str_repeat( 'i', count($id)).str_repeat( 'i', count($val))]; 27$params=array_merge($params,$id,$val); 28print_r($params); 29 30$stmt = $mysqli->prepare($sql); 31call_user_func_array([$stmt,"bind_param"], $params); 32$stmt->execute(); 33 34?> 35

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

投稿2017/06/25 02:24

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問