我有一个具有以下结构的数据库:
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) 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());