0

我正在尝试使用 mysql 和 PHP 从数据库中检索值。问题是: +++ 我的表字段 (product_model_name) 由 (;) 例如 Crystal;Uni 组成,我想根据这个产品范围过滤结果。

我曾尝试使用 mysql_real_escape_string() 来处理它但无法成功。这是我的代码:

$range="Crystal;Uni"; 
$test=mysql_real_escape_string($range); 
$sql="select product_model_image from product_models where product_model_name=".$test;
$res= mysql_query($sql) or die (mysql_error());
  while($row = mysql_fetch_array($res))
 { 
 echo $row['product_model_image '];
 }

有人能指出我在哪里犯错吗?

4

2 回答 2

0

尝试

 $sql="select product_model_image from product_models where product_model_name= '{$test}'";

也使用pdoormysqli代替mysql_*

这是很好的 PDO 教程

于 2012-10-18T16:27:56.790 回答
0

在查询中将字符串括在引号中:

$sql="select product_model_image from product_models where product_model_name='".$test."'";

强制性旁注:mysql_*库正在逐步淘汰,因此您应该在另一个库中编写新代码,例如PDOMySQLi。无论如何,这些库还有许多其他好处,例如参数化查询比您现在所做的转义更安全。

于 2012-10-18T16:28:23.323 回答