2014-12-30 97 views
1

我有一個像下面調試SQL查詢,如果失敗

function getConnected($host,$user,$pass,$db) { 

    $mysqli = new mysqli($host, $user, $pass, $db); 

    if($mysqli->connect_error) 
    die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error()); 

    return $mysqli; 
} 

$sqli= getConnected('localhost','db','pass','user'); 



    if ($data = $sqli->query("INSERT INTO `buy_diet`.`rcat` (`cat`, `id`) VALUES ('$cat', '$idea');")) { 
    echo $data; 
    } 
    else 
    { 
    echo "fail"; 
    } 

上面的代碼總是failing..database連接和所有其他查詢,如SELECT,UPDATE等工作正常的查詢,但INSERT查詢失敗...我試圖複製精確的語句,並在phpmyadmin中運行查詢,但它不能在上面的php代碼中運行。

那麼我怎樣才能調試什麼問題。現在我只得到這個錯誤(布爾)錯誤,如何看到詳細的錯誤。

+0

您是否嘗試過在腳本中打印SQL,僅用於調試目的?然後嘗試直接在db中運行該打印的查詢,看它是否給出任何錯誤。 –

回答

1

echo "fail"替換爲echo $sqli->error以查看實際問題。

+0

謝謝:)我沒有給予用戶previlage插入 – Vishnu