PHP mysqli执行不返回值

时间:2015-11-02 01:02:25

标签: javascript php mysql mysqli execute

(这只是我的代码中的一部分,它不起作用) 我试图为我的网站创建一个registerform,但是,这就是一切都失败的地方。这些变量绑定到我的查询中(这部分有效),INSERT将被执行。

所以我希望' if($ statement-> execute())'但是,当插入实际发生在数据库中时,它不会回显任何东西(甚至不是0)。我看了op执行并看到: 返回值

成功时返回TRUE,失败时返回FALSE。

所以这对我没有意义......我希望有人可以帮助我!

foldr

编辑:这是js代码(由于结果仍为假,所以回声并没有结束)

$username = filter_var($_POST["username"]); 
$password = filter_var($_POST["password"]);
$email = filter_var($_POST["email"]);
$firstname = filter_var($_POST["firstname"]);
$lastname = filter_var($_POST["lastname"]);


$statement = $mysqli->prepare("INSERT INTO user (username, password, email, firstname, lastname) VALUES (?, ?, ?, ?, ?)");
$statement->bind_param('sssss', $username, $password, $email, $firstname, $lastname); 
if($statement->execute()) {
echo 1;
}
else {
    echo 0;
}

1 个答案:

答案 0 :(得分:0)

是否有有效的连接?如果对你有意义,请尝试以下方法吗?

更新:应用try catch查看错误的配对。

假设连接变量值为默认值:

try{
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "myDB";

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);

    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    // prepare and bind
    $stmt = $conn->prepare("INSERT INTO user (username, password, email, firstname, lastname) VALUES (?, ?, ?, ?, ?)");
    $statement->bind_param('sssss', $username, $password, $email, $firstname, $lastname); 

    .
    .
    }
catch(PDOException $e)
    {
    echo "Error: " . $e->getMessage();
    }