在MYSQL SELECT WHERE查询中使用变量

时间:2014-04-25 06:32:44

标签: php mysql phpmyadmin

我试图在我的MYSQL SELECT WHERE查询中包含变量。 我希望能够使用变量,以及假符号"!="

例如:

select * from XXX
where id != '$id'

为什么这不起作用,我怎样才能使这项工作?

3 个答案:

答案 0 :(得分:4)

最好使用mysqli预处理语句或PDO,因为在最近的PHP版本中不推荐使用mysql_ *函数。使用mysqli prepared statement检查查询的外观。

<?php

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
   printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$stmt = $mysqli->prepare("SELECT * XXX WHERE id != ?");

$stmt->bind_param( "d", $value); 
// 'd' is a format integer, for string use 's'

$stmt->execute();

$stmt->bind_result($col1);
// then fetch and close the statement

答案 1 :(得分:-1)

当你问如何在mysql查询中传递变量id所以检查下面,其他明智的人已经回答了你的php等。

set @id=4;
select * from XXX
where id != @id;

答案 2 :(得分:-4)

如果您在php中使用此代码,则可以使用此

$query = "select * from XXX where id != {$id}";

OR

$query = "select * from XXX where id != '".$id."'";

如果您尝试在phpmyadmin中使用这些变量,我认为这是不可能的。