我看过几个关于如何从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";
?>发布于 2017-10-27 18:22:29
这里有两个问题。
您正在查询两次并使用错误的变量,即$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);
}它在编码过程中也有帮助,还可以通过编辑器进行配对匹配。
https://stackoverflow.com/questions/46981228
复制相似问题