我看过几个关于如何从PHP调用MySQL存储过程的例子,但没有人帮助过我。存储过程在PHPMyAdmin中运行时有效,但我无法从Web调用它。
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "dbname";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$result = mysqli_query($conn,"CALL standings_build()");
if (mysqli_query($conn,$sql))
header('refresh:1; url=schedule_main_scores.php');
else
echo "failed";
?>
答案 0 :(得分:3)
这里有两个问题。
您使用错误的变量查询和两次,$sql
而不是$result
。
$result = mysqli_query($conn,"CALL standings_build()");
if (mysqli_query($conn,$sql))
^^^^^^^^^^^^ calling the query twice
^^^^ wrong variable, undefined
所有需要做的就是:
if ($result)
和else
来处理(可能的)错误。
错误报告和mysqli_error($conn)
本来是你真正的朋友。
旁注:你真的应该使用适当的支撑技术,例如:
if ($result){
echo "Success";
}
else {
echo "The query failed because of: " . mysqli_error($conn);
}
它在编码过程中也很有用,并且可以通过编辑器进行配对匹配。