从SQL查询的变量读取字符串

时间:2014-11-08 20:20:00

标签: php sql

SQL newb here ...

$db_result = mysql_query("SELECT first_name FROM gamers WHERE comp_id = 'myid'");以我想要的方式运作。

$compid1 = 'myid';
$db_result = mysql_query("SELECT first_name FROM gamers WHERE comp_id = @compid1");

不会产生相同的结果。

我也尝试了$compid1和其他各种事情,但没有成功。

很抱歉这个简单的问题,但答案仍然无法解决。谢谢!

更新:哦,是的......这个问题。如何在WHERE检查中使用预先存储的变量?

2 个答案:

答案 0 :(得分:2)

您需要在变量之前使用$,而不是@。你需要在它周围加上引号,因为它是一个字符串:

$db_result = mysql_query("SELECT first_name FROM gamers WHERE comp_id = '$compid1'");

但是,最好停止使用mysql扩展程序。使用PDO或mysqli,并使用带参数的预准备语句。例如。在PDO中它将是:

$stmt = $conn->prepare("SELECT first_name FROM gamers WHERE comp_id = :compid");
$stmt->bindParam(':compid', $compid1);
$stmt->execute();

答案 1 :(得分:1)

将字符串变量括在一对引号中。

$compid1 = 'myid';
$db_result = mysql_query("SELECT first_name FROM gamers WHERE comp_id = '$compid1'");