MySQL-在PHP中通过ID从列中获取值
我有一个具有以下结构的数据库:MySQL-在PHP中通过ID从列中获取值,php,mysql,Php,Mysql,我有一个具有以下结构的数据库: id msg 1 'Hello' 2 'Bye' 我需要得到“id”的“msg”值 这是我的尝试: $text = mysql_query("SELECT msg FROM text WHERE text (id) ='$msg_num'"); 但它不起作用:( 你有什么建议吗? 谢谢你的改变 mysql_query("SELECT msg FROM text WHERE text (id) ='$msg_num'"); 到 这种类型的查询可能是攻击的
id msg
1 'Hello'
2 'Bye'
我需要得到“id”的“msg”值
这是我的尝试:
$text = mysql_query("SELECT msg FROM text WHERE text (id) ='$msg_num'");
但它不起作用:(
你有什么建议吗?
谢谢你的改变
mysql_query("SELECT msg FROM text WHERE text (id) ='$msg_num'");
到
这种类型的查询可能是攻击的原因。使用准备好的语句停止一阶注入非常好
1) Mysqli
2) PDO
此查询的区别在于它选择列。没有名为“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\u error()
诊断类似的问题。删除text
$text = mysql_query("SELECT msg FROM text WHERE id ='$msg_num'") or die(mysql_error());
$result = mysql_query("SELECT msg FROM text WHERE id ='$msg_num'");
while ($row = mysql_fetch_array($result))
{
$text = $row['msg'];
}
您的代码易受SQL注入攻击
请阅读下面的文章
谢谢。我得到类似“资源id#15”的东西,我需要里面的值。建议?您需要使用mysql\u fetch\u array()从资源获取数据使用mysql\u fetch\u array($result)
mysql\u query
返回资源,而不是msg
的文本。如果需要文本值,则需要获取。
$text = mysql_query("SELECT msg FROM text WHERE id ='$msg_num'") or die(mysql_error());
$result = mysql_query("SELECT msg FROM text WHERE id ='$msg_num'");
while ($row = mysql_fetch_array($result))
{
$text = $row['msg'];
}