[英]Check in ajax/jquery a form beform submit ( check the value whether it is in database)
[英]Check submit form input with mysqli database
當我在表單中鍵入代碼時,我希望我的PHP代碼在提交時檢查該代碼是否存在於數據庫中,然后運行MySqli查詢。 我嘗試這樣做,但出現錯誤Cannot use isset() on the result of an expression (you can use "null !== expression" instead)
我已經用Google搜索了問題,但沒有一個確實幫我解決了問題或了解我的問題。
形成
<p><b>Skriv in din laddkod nedan och tryck på "Ladda"</b></p>
<form action="laddaklar.php" method="post">
<input type="text" name="laddkod"/>
<input type="submit" name="submit" value="Ladda" />
</form>
的PHP
<?php
session_start();
$mysqli = NEW MySQLI ('localhost', 'root', '', 'ph');
$laddkod = isset($_POST['laddkod']) ? $_POST['laddkod'] : '';
$kod= "SELECT refill from card_refill";
$result = $mysqli->query($kod);
if(isset($_POST['submit'] && $laddkod==$result)){
$resultSet = $mysqli->query ("UPDATE card_credit SET value= value + (select credit from card_refill WHERE refill='" . $_POST['laddkod'] . "') WHERE card_id = '" . $_SESSION['card'] . "' ");
echo "<b>Ditt kort har laddats!</b>";
}
else
{
echo "Fel laddkod";
}
您得到的錯誤:
無法在表達式的結果上使用isset()
由看起來像在此處嘗試使用表達式引起的:
if(isset($_POST['submit'] && $laddkod==$result)){...
您必須正確關閉isset()
並刪除多余的雜物)
:
if( isset($_POST['submit']) && $laddkod==$row['refill'] ){...
-----------------------add^ --------------------remove^
此外,您不會為第一個查詢獲取任何行結果:
$kod= "SELECT refill from card_refill";
$result = $mysqli->query($kod);
$row = $result->fetch_assoc(); // The value will be in the $row array
然后,您似乎永遠不會執行UPDATE
查詢。
另外,不清楚在哪里設置$_SESSION['card']
,但是在嘗試UPDATE
查詢之前,您需要確保已設置它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.