MySQL语句在phpmyadmin中工作,但在代码中不起作用

时间:2016-02-16 19:05:17

标签: php mysql phpmyadmin

我有以下代码。它在phpmyadmin的sql接口中执行时有效,但是当我在服务器$stmt = $con->prepare($sql)上执行它时总是返回false并且我退出时出错。

请注意$stmt = $con->prepare($sql)不会返回错误消息。我恐怕我可能在这里做错了什么?

我认为我在这里缺少一些重要的东西!

在修改它之前,Update语句也正常工作,以返回逗号分隔的更新ID列表。

$sql = "SET @uids := null;
                    UPDATE userpicks, brackets
                    SET userpicks.player1 = ?, userpicks.pick = ?
                    WHERE userpicks.id_user = ? AND userpicks.id_tournament = ? AND brackets.stage > ? AND userpicks.player1 = ?
                    AND ( SELECT @uids := CONCAT_WS(',', brackets.id, @uids) );
                    SELECT @uids;";

        if ($stmt = $con->prepare($sql)) {
            $stmt->bind_param('iiiiii', $noPlayerID, $noPlayerID, $_SESSION ["id"], $id_tournament, $bracket_stage, $id_player);
        } else {
            echo mysqli_error($con);
            return getJSONArrayError("Error occurred");
        }

1 个答案:

答案 0 :(得分:-2)

我认为你在PHP中混合了Procedural和OOP方法 http://php.net/manual/en/mysqli.quickstart.dual-interface.php 尝试 $语句= mysqli->制备($ CON,$ SQL) 代替 ($ stmt = $ con> prepare($ sql))