我在這裏有兩個不同的查詢。第一個查詢是針對兩個具有相同item_code的表,而第二個表僅針對具有項目代碼的表1。我添加console.log來在另一頁上運行腳本。我的代碼的過程是,如果第一個查詢(對這兩個表的查詢)執行失敗,則執行第二個查詢(僅查詢表1)。這兩個查詢正確執行,但我在console.log上收到此錯誤。試圖在Console.log中獲取非對象的屬性
「
通知:試圖得到非對象的屬性在C:\ Xampplite文件\ htdocs中\ edit.php上線21,23,25
0」
的21,23和25行錯誤是我的if else語句。我需要獲取console.log 1
。
這是爲什麼?
任何幫助將不勝感激。
兩個表的項目有代碼A000321
table 1 | table 2
|
item_code | item_code
------------|--------------
A000321 | A000321
僅表1的項目有代碼A000321
table 1 | table 2
|
item_code | item_code
------------|--------------
A000321 |
Update.php
<?php
$val1_id= $_POST['val1_id'];
$val1_item_copy= $_POST['val1_item_copy'];
$val1_catcode= $_POST['val1_catcode'];
$val1_itemcode= $_POST['val1_itemcode'];
$sql = $mysqli->query("
UPDATE code t1
INNER JOIN
app t2
ON t2.item_code= t1.item_code
SET t1.item = '$val1_item_copy',t2.item_name = '$val1_item_copy'
WHERE t1.item_code = '$val1_itemcode' AND t1.cat_code = '$val1_catcode';
")or die('There was an error running the query [' . $mysqli->error . ']');
if(($sql->num_rows)>= 1){
echo '1';
} else if(($sql->num_rows) == 0) {
$sql1 = $mysqli->query("UPDATE code SET item='$val1_item_copy' WHERE id='$val1_id'")or die('There was an error running the query [' . $mysqli->error . ']');
if(($sql1->num_rows)>= 1){
echo '1';
} else {
echo '0';
}
}
?>
你爲什麼不檢查錯誤? mysqli_error()會告訴你什麼是錯的。 – 2014-10-10 02:08:57
定義了「$ val1_item_copy」和「$ val1_id」在哪裏?在打開'<?php'標籤後立即在文件頂部添加錯誤報告 'error_reporting(E_ALL); ini_set('display_errors',1);'看看它是否產生任何東西。同樣'或者死(mysqli_error($ mysqli))'到'mysqli_query()'。 – 2014-10-10 02:09:31
@ Fred-ii-就這樣? $ mysqli = new mysqli(「localhost」,「root」,「」,「database」)或者死(mysqli_error($ mysqli))到mysqli_query(); – user3631428 2014-10-10 02:19:25