我是PDO和PHP的新手。
我写了一个SP来从mariaDB中获取日志条目。
如果我直接在phpMyAdmin中调用该过程,则一切正常。
但是在PHP中使用PDO不会得到任何行。
$sql = "SET @p0='".$name1."'; "
. "SET @p1='".$name2."'; "
. "SET @p2='".$pid."'; "
. "SET @p3='".$log_class."'; "
. "CALL `show_log_filter`(@p0, @p1, @p2, @p3);";
try
{
foreach ($pdo->query($sql) as $row)
{
echo "<tr><td>".$row['log_id']."</td></tr>";
//more echos...
}
} catch (PDOException $ex) {
echo "<p>".$ex->getMessage()."</p>";
}
我在项目中多次这样做,但是在这种情况下不起作用。
有什么建议吗?
谢谢!
答案 0 :(得分:0)
此外,如果您的数据库驱动程序支持它,那么您还可以绑定用于输出和输入的参数
$stmt = $dbh->prepare("CALL sp_returns_something(?)");
$stmt->bindParam(1, $return_value, PDO::PARAM_STR, 4000);
$stmt->execute(); // call the stored procedure
print "procedure returned $return_value\n";