複数の選択ボックスから情報を含むレコードを更新しようとしていますが、新しい行を追加するためにINSERT INTOを使用していましたが、このコードに追加しようとしています。 mysql_real_escape_string()このポストの最後にエラーメッセージが返されます。私はそれに渡そうとしている値に何か間違っていると推測しますが、PHPを幸せにするためにそれをどのようにフォーマットするのか分かりません!MySQL PHP mysql_real_escape_string() - この値は文字列ではありませんか?
$query = "UPDATE studies
SET strategies = '" . mysql_real_escape_string($strategies) . "' WHERE id = '" . mysql_real_escape_string($id) . "'";
while($row = mysql_fetch_array($result)) {
$strategylist = $row['name'];
$strategyname = htmlspecialchars($row['name']);
$pagelink = str_replace(" ","_",$strategylist);
echo '<option value="<a href="strategies.php?strategy=' . $pagelink . '">'.$strategyname.'</a>" >' . $strategyname . '</option>' . '\n';
}
警告:mysql_real_escape_stringの()は、パラメータ1は、ライン100上で与えられた文字列、配列であることを期待
$ strategと$ idに割り当てるコードを投稿できますか? –
$ idと$ strategies変数を設定するコードをチェックする必要があると思います。それ以外の場合は、エラーの原因を特定するのは難しいです。クエリ文字列生成の前に、関連するコードをいくつか含める必要があります。 –
mysql_real_escape_string($ id)ではなく、キャスト演算子(int)$ idまたはintval($ id)を使用する方が高速です。 – merkuro