变量不保存来自MYSQL查询的数据

时间:2016-05-13 18:05:24

标签: php mysql pdo

我有以下代码

# connect to sql server
$sql = new PDO('mysql:dbname=random;host=localhost', 'root', '');

# perform the query
$query = 'SET @uid := (SELECT Channel_Location FROM channels WHERE Used = 0 ORDER BY RAND() LIMIT 1);'.PHP_EOL
    .'UPDATE channels SET Used = 1 WHERE Channel_Location = @uid;'.PHP_EOL
    .'SELECT * FROM channels WHERE Channel_Location = @uid';

$result = $sql->query($query);
$row = $result->fetch();
$id = $row['Channel_Location'];
var_dump($row);

现在查询运行它的测试返回我需要它但是当我var_dump($row)我得到布尔值false并且当我var_dump($id)我得到null作为错误时,现在数据库有很多条目它可以选择,但没有任何东西传递给PHP但如果我在我的客户端运行查询我得到一个返回值。

任何人都可以指导我找到可能的解决方案吗?

2 个答案:

答案 0 :(得分:0)

您无法使用PDO在一个查询中运行多个查询,请尝试一次运行一个查询并检查发生的情况

答案 1 :(得分:-1)

而不是使用$result->fetch()使用$result->fetchAll()