Php 试图在Console.log中获取非对象的属性

Php 试图在Console.log中获取非对象的属性,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,我这里有两个不同的问题。第一个查询针对具有相同物料代码的两个表,第二个表仅针对具有物料代码的表1。我添加console.log以在另一个页面上运行脚本。我的代码的过程是,如果两个表的第一个查询都未能执行,则只执行表1的第二个查询。两个查询都正确执行,但我在console.log上收到此错误 注意:试图在第21,23,25行的C:\xamplite\htdocs\edit.php中获取非对象的属性 0 第21、23和25行错误是我的if-else语句。我需要获取console.log 1 为什么

我这里有两个不同的问题。第一个查询针对具有相同物料代码的两个表,第二个表仅针对具有物料代码的表1。我添加console.log以在另一个页面上运行脚本。我的代码的过程是,如果两个表的第一个查询都未能执行,则只执行表1的第二个查询。两个查询都正确执行,但我在console.log上收到此错误

注意:试图在第21,23,25行的C:\xamplite\htdocs\edit.php中获取非对象的属性 0

第21、23和25行错误是我的if-else语句。我需要获取console.log 1

为什么呢

任何帮助都将不胜感激

两个表的项目代码均为A000321

只有表1的项目代码为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';
}
}

?>

您可能会得到1,因为更新查询成功。这并不意味着它做了任何改变,只是它没有崩溃

您可以通过检查来检查受影响的记录

printf("Affected rows (Non-Select): %d\n", $mysqli->affected_rows);

我只是编辑了一些细节。我使用if$mysqli->infected_rows>=1而不是if$sql->num_rows>=1


你为什么不检查一下错误呢?mysqli_错误会告诉您出了什么问题。$val1_item_copy和$val1_id在哪里定义?在打开@Fred ii后立即将错误报告添加到文件顶部-就像这样$mysqli=新建mysqlilocalhost、root、数据库或diemysqli\u错误$mysqli to mysqli\u查询$sql=$mysqli->queryUPDATE代码集项='$val1_item_copy'其中id='$val1_id'或die'运行查询时出错['.$mysqli->error'.]@Fred ii-在哪里可以看到错误?它不会出现在我的页面或控制台中。
<?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';
}
}

?>
printf("Affected rows (Non-Select): %d\n", $mysqli->affected_rows);
if($mysqli->affected_rows >= 1) {
echo '1';
} else {
$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($mysqli->affected_rows >= 1) {
echo '1';
} else {
echo '0';
}
}