2016-05-14 100 views
0

我想将第一个查询结果存储在变量中,并将第一个查询结果用作第二个查询中的值。如何将SQL查询结果存储在使用PHP的变量中?

当前第二个查询可以独立工作。我只是难以得到第一个工作。

$var = array();$idorigin = $conn->prepare("SELECT id_stop FROM stops WHERE 
stopname = '$value1'"); 
$idorigin->execute() 
$var[] = $idorigin['id_Stop']; 
echo $var; 

$stmt = $conn->prepare("SELECT id_stop, scheduletime FROM schedule 
WHERE scheduletime >= '$time' AND id_stop = '8' 
LIMIT 6;"); 


$stmt->execute(); 
echo $stmt; 
+0

你真的能回应一个数组和对象的内容? – Chay22

+1

*没有明确问题陈述的问题对其他读者没有用处* –

+0

现在没有第一部分的回声工作,只有第二个带回声的查询起作用。 – camnesia

回答

0

你可以使用这样的事情你先声明:

$req = $conn->prepare("SELECT id_stop FROM stops WHERE stopname = :value"); 
$req->execute(array('value' => $value1)); 
$result = $req->fetchAll(); 
$req->closeCursor(); 
var_dump($result); 
  1. 首先您准备查询
  2. 与相应的参数从数据库中执行它
  3. Fetch all记录和将结果存储在任何变量(此处为$结果)
  4. Close connection with server,这使得后
  5. 显示运行其他查询您的变量与var_dump

希望这有助于

+0

我试过了,它说致命错误:调用未定义的方法PDO :: execute()在C:\ wamp64 \ www \ Schedule.php上的第132行 - 这是$ conn-> execute(array('value'= > $ value1)); – camnesia

+0

对不起,我犯了一个错误!做一个编辑,现在应该工作..只是确保$ conn是一个有效的pdo对象 –

+0

@GabrielBourgault修复你的'execute()'语句,它应该是'$ req-> execute(array(':value'=> $ value1));' –