2015-10-07 148 views
2

我有一個MySQL數據庫和所有的PHP插入值,其餘的工作,但我的聊天沒有。PHP不會插入聊天消息

我的主機不允許我看到MySQL錯誤日誌,所以我不能通過它看到什麼是錯的。

<?php 
session_start(); 
include 'default.php'; 
include 'SteamAuthentication/steamauth/userInfo.php'; 

$db = getDB(); 

if (!isset($_SESSION['steamid'])) { 
    echo jsonErr('You are not logged in.'); 
    return; 
} 

$text = isset($_POST['text']) ? $_POST['text'] : null; 

if (is_null($text) || strlen($text) === 0) { 
    echo jsonErr('The required text for the message was not sent correctly or was left blank. Please refresh and try again.'); 
    return; 
} 

$steamUserID = $steamprofile['steamid']; 

$stmt = $db->prepare('INSERT INTO chat (steamUserID, `text`, `date`, `time`) VALUES (:userid, :text, CURDATE(), CURTIME())'); 
$stmt->bindValue(':userid', $steamUserID); 
$stmt->bindValue(':text', $text); 
$stmt->execute(); 

echo jsonSuccess(array('message' => 'Message has been sent!')); 
?> 

作注,我的其他PHP文件可以插入到我的數據庫就好了,所以它不是數據庫配置,有沒有我的代碼的問題嗎?

+0

嘗試在查詢和用戶標識符上顯示回顯,如果查詢有問題,您將看到文本 –

回答

1

這是因爲你有時`嘆息周圍的列名包,有時沒有,那麼你現在有2種選擇:

  1. 刪除`跡象

    $stmt = $db->prepare('INSERT INTO chat (steamUserID, text, date, time) VALUES (:userid, :text, CURDATE(), CURTIME())'); 
    
  2. 或添加到表名和所有列名

    $stmt = $db->prepare('INSERT INTO `chat` (`steamUserID`, `text`, `date`, `time`) VALUES (:userid, :text, CURDATE(), CURTIME())');