2017-08-24 66 views
0
<?php 
$q= $_REQUEST["q"]; 
$r = $_REQUEST["r"]; 
$s = $_SESSION['empid']; 
$max = 0; 
$dbhost = 'localhost:3306'; 
$dbuser = 'root'; 
$dbpass = ''; 
$dbname = 'employeesurvey'; 
$conn = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname); 
$sql1 = "SELECT QuestionID FROM question"; 
if(!mysqli_query($conn,$sql1)){ 
    echo 'error2 php'; 
} 
while($rw1 = mysqli_fetch_array($sql1)){ 
    $Q = $rw1['QuestionID'] ; 
    if ($max<$Q){ 
     $max = $Q; 
    } 
} 
$Q = $Q+1; 
$sql = "INSERT INTO question VALUES (".$Q.",'".$r."',".$s.",CURRENT_DATE(),".$q.",0)"; 
if(!mysqli_query($conn,$sql)){ 
    echo "Error"; 
} 

?>我無法使用PHP插入到MySQL(正在顯示沒有錯誤)

的數據庫,表名是正確的。我使用xmlHttpRequest.open()的值傳遞給此頁 調用語句是:

xmlhttp = new XMLHttpRequest(); 
xmlhttp.open("GET", "gethint1.php?q=" + cid + "&r=" + question, true); 

林沒有得到任何錯誤,也不值插入

+0

Ouch。你從來沒有聽說過MySQL中的自動增量字段? – Shadow

+0

我最初使用了自動增量。但後來我認爲它沒有插入,因爲自動增量的一些問題可能導致主鍵衝突。所以我試着增加自己 –

回答

0

替換此行:

if(!mysqli_query($conn,$sql1)){ 

這些

$resultSet = mysqli_query($conn,$sql1); 
if(!$resultSet){ 

現在替換此行:

while($rw1 = mysqli_fetch_array($sql1)){ 

有了這一個

while($rw1 = mysqli_fetch_array($resultSet)){ 

原因是你沒有執行的查詢和存儲的結果,而從結果集讀取記錄,使用的是直接查詢變量在邏輯上是錯誤的設置。

0

爲什麼你做一個簡單的事情由表獲得問題ID只使用自動增量場在你的MySQL表或使用INSERT_ID ,問題是mysqli_fetch_array這個複雜的()函數可以使用mysqli_query()函數的輸出,即一個對象,你正在向期望對象的功能提供字符串