次の構造のデータベースがあります。
id msg
1 'Hello'
2 'Bye'
「id」の「msg」値を取得する必要があります。
これは私の試みです:
$text = mysql_query("SELECT msg FROM text WHERE text (id) ='$msg_num'");
しかし、うまくいきません:(提案はありますか?ありがとう
削除するtext
$result = mysql_query("SELECT msg FROM text WHERE id ='$msg_num'");
while ($row = mysql_fetch_array($result))
{
$text = $row['msg'];
}
あなたのコードは脆弱ですSQL Injection
以下の記事を読んでください、
変化する
mysql_query("SELECT msg FROM text WHERE text (id) ='$msg_num'");
に
mysql_query("SELECT msg FROM text WHERE id ='$msg_num'");
このタイプのクエリは、MySQL インジェクション攻撃の原因になる可能性があります。準備されたステートメントを使用して、1 次インジェクションを停止するために使用するのに適しています。
1)Mysqli
2) PDO
select id from text where id = '$msg_num'
このクエリの違いは、列を選択することです。「msg」という名前の列はありません。それが値です。
編集:申し訳ありませんが、表を間違って読んでください(横向き)。
構文が正しくありません。
$text = mysql_query("SELECT msg FROM text WHERE text (id) ='$msg_num'");
する必要があります:
$text = mysql_query("SELECT msg FROM text WHERE id='$msg_num'");
mysql_error()
このようなことを診断するために使用できます。
$text = mysql_query("SELECT msg FROM text WHERE id ='$msg_num'") or die(mysql_error());