我有以下代码
# 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但如果我在我的客户端运行查询我得到一个返回值。
任何人都可以指导我找到可能的解决方案吗?
答案 0 :(得分:0)
您无法使用PDO在一个查询中运行多个查询,请尝试一次运行一个查询并检查发生的情况
答案 1 :(得分:-1)
而不是使用$result->fetch()
使用$result->fetchAll()