これまでに何度も尋ねられてきたことは分かっていますが、このクエリがmysqlデータベースにレコードを挿入しない理由を理解できません。私は成功メッセージを受け取るが、レコードは実際にテーブルに置かれていない。私はそれに数時間を費やして、それを理解することができないので、どんな助けでも大いに感謝されるでしょう。 私はサーバを5.3から5.6にアップデートしました。MySQLデータベースにレコードを挿入できないのはなぜですか?
<?php
session_start();
$mysqli = new mysqli("localhost", "root", "usernmae", "mydatabase");
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
include "php_includes/display_errors.php"; //show errors
if(isset($_SESSION['user_session']) && !empty($_SESSION['user_session'])) {
//Update Database
$stmt = $mysqli->prepare("INSERT INTO tbl_collab (collab_userid, collab_username, file, tbl_upload_id) VALUES (?, ?, ?, ?)");
$stmt->bind_param('ssss',$user_id, $user_name, $file, $page_id);
$user_id = $_POST['user_id'];
$user_name = $_POST['user_name'];
$file= $_POST['file'];
$page_id= $_POST['page_id'];
$stmt->execute();
if($stmt){
echo"success";
}
else {
echo "error";
}
}
// Close connection
mysqli_close($mysqli);
?>
'$ stmt'自体ではなく、' execute() 'の結果を得るべきです。 '$ result = $ stmt-> execute();' – Raptor