PHPでSQLクエリを作成しようとしています。しかし、私はかなり珍しい方法で言及を得る。私は実際に私は宣言され、上記のスニペットでそれを使用して、プログラムのどの部分で配列として「$ SQL」変数を治療していないphp - 注意:配列から文字列への変換
$i=0;
$SQL="";
$tableFieldsQueryFormat=array("hospitals"=>"(location LIKE '%@val%' OR phone_no LIKE '%@val%')","doctors"=>"doc_name LIKE '%@val%'","news"=>"title LIKE '%@val%'","diseases"=>"name LIKE '%@val%'","tips"=>"tip LIKE '%@val%'");
$tableName=array("hospitals","doctors","news","diseases","tips");
$query_str=str_replace("@val",trim("dummy"),$tableFieldsQueryFormat[$tableName[$i]]);
$SQL="SELECT * FROM $tableName WHERE $query_str AND isdeleted='0';"; // Notice is thrown here !!!
。この奇妙な予告の背景には何がありますか?私は構文や論理エラーを起こしたとは思わない。
は '$ tableName'は、配列ではなく文字列で、SQLクエリは文字列のみ入力してください。 – Amol
'@ Amol'はあなたに答えを教えてくれましたが、あなたが必要とする以上に複雑になっていると確信しています。配列は目的を果たすべきです。 – PHPglue