首先,我想說我對這種類型的東西非常不好,所以我的代碼可能完全沒用。PHP/MySQL。無法更新數據:查詢是空的
任務是創建一個系統,要求用戶掃描兩個ID,用戶ID和itemID。掃描成功後,我希望將這些值傳輸到PHP文檔。 這裏我想運行一個MySQL查詢,它將更新itemID與數據庫匹配的userID的值。
所以我的問題是,我運行我的查詢後得到此消息: userID:202 itemID:8204無法更新數據:查詢是空的。我的數據庫仍然是空的。
我認爲問題在於查詢無法讀取$ _GET變量。但我不知道,所以請幫助我,謝謝!
這是我的形式:
<form id="checkin" name="checkin" action="test.php">
<input type="button" onclick="checkIn()" value="Check in Item">
</form>
功能:
<script>
function checkIn(){
var userID=parseInt(prompt ("Scan userid"), 10);
var itemID=parseInt(prompt ("Scan itemid"), 10);
if(userID!=null && itemID!=null){
window.location.href= "http://localhost/webapp/test.php?userID=" + userID + "&itemID=" + itemID;
alert ("working so far userID:"+ userID + " --- itemID:" + itemID);
}
}
</script>
最後的PHP:
$con = mysql_connect("localhost", "root", "", "book1");
$db = mysql_select_db('book1');
if (isset($_GET["userID"]) && isset($_GET["itemID"])) {
$userID1 = (int)$_GET["userID"];
$itemID2 = (int)$_GET["itemID"];
$test = "userID: ".$_GET["userID"]." "."itemID: ".$_GET["itemID"];
echo $test;
}
if (!$con) {
die('Could not connect: '.mysql_error());
}
$upd = mysql_query('UPDATE INTO booking SET userID ="$userID" WHERE ID ="$itemID');
$retval = mysql_query($upd, $con);
if (!$retval) {
die('Could not update data: '.mysql_error());
}
echo "Updated data successfully\n";
'更新到預訂'應該是'更新預訂' –
沒有直接關係到你的問題,但你可能想考慮使用PDO。投射到'int'似乎是一種非常醜陋的方式來清理SQL的輸入。 – tangrs
是的,我已經考慮使用PDO,我想我會在不久的將來。我只想讓這個功能先行工作。 – Snoken