使用mysql_real_escape_string()进行数据提取

时间:2012-10-18 16:25:32

标签: php mysql database

我正在尝试使用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 '];
 }

有人能指出我犯错的地方吗?

2 个答案:

答案 0 :(得分:0)

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

也可以使用pdomysqli代替mysql_*

Here is good PDO tutorial

答案 1 :(得分:0)

在查询中用引号括起您的字符串:

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

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