ここで私のコードについて少し助けが必要です。これまでのところ、このページに移動すると、全体が表示されます。検索を設定してPOSTすると、それも機能します。しかし、-> 2つ以上の<-キーワードを追加すると、エラーが発生します。したがって、問題はフォアアーチループelse構造にあります。
その場合、次のエラーが発生します。
queryfoutSQL構文にエラーがあります。6行目の「ORDERBYcustsurname、custforename、custmidname」の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。
いろいろな作り方を試しましたが、どういうわけかうまくいかないようです。
私のコードは以下の通りです:
if(isset($_POST['search']))
{
$search = $_POST['search'];
$terms = explode(" ", $search);
$customerlistquery = "
SELECT *
FROM customer
LEFT JOIN company
ON customer.compid=company.compid
WHERE
";
foreach ($terms as $each)
{
$i++;
if ($i == 1)
{
$customerlistquery .= "concat(custsurname, custforename, custmidname) LIKE '%$each%' ORDER BY custsurname, custforename, custmidname";
}
else
{
$customerlistquery .= "OR concat(custsurname, custforename, custmidname) LIKE '%$each%' ORDER BY custsurname, custforename, custmidname";
}
}
}
else
{
$customerlistquery = "
SELECT *
FROM customer
LEFT JOIN company
ON customer.compid=company.compid
ORDER BY custsurname, custforename, custmidname
";
}
そして最後にもう1つ質問があります。PHPが未定義の変数について泣き言を言うのはなぜですか:i?
Notice: Undefined variable: i in ...
これはすべての「使い捨て変数」の標準メッセージですか?