0

このクエリを連結する適切な方法は何でしょうか?

$query2= "SELECT * FROM relationships WHERE user_1= '.$_SESSION['user_id'].'     
AND user_2= '.$user_id.' ";

このエラーが発生し続けます:

解析エラー: 構文エラー、予期しない T_ENCAPSED_AND_WHITESPACE、C:\xampp\htdocs\beta\profile.php の 32 行目に T_STRING または T_VARIABLE または T_NUM_STRING が必要です

4

3 に答える 3

5

このクエリを連結する適切な方法は何でしょうか?

SQL ライブラリ/クライアント/サーバーにそれを実行させるため (特殊文字を無料でエスケープしながら)。文字列をマッシュアップしてコードを作成しようとすると、比較的エラーが発生しやすく、さまざまな引用符文字の複雑な組み合わせが含まれるため、維持が難しくなる可能性があります。

代わりに、準備済みステートメントとバインドされた引数を使用してください。

于 2012-08-11T21:19:00.693 に答える
2

一重引用符と二重引用符の入れ子が正しくありません。

$query2= "SELECT * FROM relationships WHERE user_1= '" . $_SESSION['user_id'] . "' AND user_2= '" . $user_id . "'";
于 2012-08-11T21:19:00.673 に答える
2

また:

$query2 = "SELECT * FROM relationships WHERE user_1='" . $_SESSION['user_id'] . "'AND user_2='" . $user_id . "'";

または:

$query2 = "SELECT * FROM relationships WHERE user_1='${_SESSION['user_id']}' AND user_2='$user_id'";

構文エラーを修正します。ただし、連結によってクエリを作成することはお勧めできません。少なくとも、mysql_realescapestringPDO の使用に移行しない場合は、すべての引数を使用する必要があります。

于 2012-08-11T21:24:26.723 に答える