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检查中使用预先存储的变量?
答案 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'");