2017-02-06 6 views
0

これまでに何度も尋ねられてきたことは分かっていますが、このクエリが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); 

?> 
+0

'$ stmt'自体ではなく、' execute() 'の結果を得るべきです。 '$ result = $ stmt-> execute();' – Raptor

答えて

1

データタイプをクロスチェックします。データ型が同じ場合は、$ stmt-> errorを使用してエラーメッセージを出力し、エラーを報告してください。

+0

これは私のデータベースにフロアがあることを発見するのに役立ちました。ありがとう。 – JulianJ

関連する問題