SQL新手在这里。。。
$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检查?
您需要在变量之前使用$
,而不是@
。你需要在它周围加引号,因为它是一个字符串:
$db_result = mysql_query("SELECT first_name FROM gamers WHERE comp_id = '$compid1'");
但是,最好停止使用mysql
扩展。使用PDO或mysqli,并使用带参数的prepared语句。例如,在PDO中,它将是:
$stmt = $conn->prepare("SELECT first_name FROM gamers WHERE comp_id = :compid");
$stmt->bindParam(':compid', $compid1);
$stmt->execute();
将字符串变量封装在一对引号中。
$compid1 = 'myid';
$db_result = mysql_query("SELECT first_name FROM gamers WHERE comp_id = '$compid1'");