我在这里有两个不同的查询。第一个查询是针对两个具有相同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