从PHP

时间:2017-10-27 18:18:32

标签: php mysql

我看过几个关于如何从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";

?>

1 个答案:

答案 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); 
}

它在编码过程中也很有用,并且可以通过编辑器进行配对匹配。