Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用php获取fetch_数组_Php_Arrays_Mysqli - Fatal编程技术网

如何用php获取fetch_数组

如何用php获取fetch_数组,php,arrays,mysqli,Php,Arrays,Mysqli,我对fetch_数组有一个简单的问题。我喜欢从表A中读出x1和x2。我需要一个计数器的两个数组,它将另一个表B上的另一个字段设置为+1。我写了下面的代码,但它不起作用,我不知道错误在哪里。也许有人能帮我。非常感谢 $get_counter = "SELECT x1, x2 FROM tablename(A) WHERE id='$id'"; $result2 = mysqli_query($db, $get_counter); $row = $result2-&

我对fetch_数组有一个简单的问题。我喜欢从表A中读出x1和x2。我需要一个计数器的两个数组,它将另一个表B上的另一个字段设置为+1。我写了下面的代码,但它不起作用,我不知道错误在哪里。也许有人能帮我。非常感谢

$get_counter = "SELECT x1, x2 FROM tablename(A) WHERE id='$id'";
        $result2 = mysqli_query($db, $get_counter);

        $row = $result2->fetch_array(MYSQLI_ASSOC);

        $counter = "UPDATE tablename(B) SET xy=xy + 1 WHERE x1=$row["x1"] AND x2=$row["x2"]";
        $result3 = mysqli_query($db, $counter);
你方在美元柜台的报价有误。这是一种很好的做法,有时需要在双引号字符串中{}包围数组或对象

$counter = "UPDATE tablename(B) SET xy = (xy + 1) WHERE x1={$row['x1']} AND x2={$row['x2']}";
但是,如果您不打算在第二个查询中使用x1、x2,那么您可以通过一个查询和一个连接来实现这一点。这样就不需要进行第一次查询和获取调用

UPDTE 
 tablenameb B JOIN tablenamea A ON B.x1 = A.x1 AND B.x2 = A.x2
SET xy = (xy + 1)
WHERE A.id='$id'
你方在美元柜台的报价有误。这是一种很好的做法,有时需要在双引号字符串中{}包围数组或对象

$counter = "UPDATE tablename(B) SET xy = (xy + 1) WHERE x1={$row['x1']} AND x2={$row['x2']}";
但是,如果您不打算在第二个查询中使用x1、x2,那么您可以通过一个查询和一个连接来实现这一点。这样就不需要进行第一次查询和获取调用

UPDTE 
 tablenameb B JOIN tablenamea A ON B.x1 = A.x1 AND B.x2 = A.x2
SET xy = (xy + 1)
WHERE A.id='$id'

您的SQL包含错误,并且您的脚本不检查SQL错误

这:

应该是:

if ($result2 === false) {
    printf("Invalid query: %s\nWhole query: %s\n", mysqli_error(), $get_counter);
    exit();
}

$row = $result2->fetch_array(MYSQLI_ASSOC);

查看此处如何检查$result2,以及如果失败,如何打印SQL错误。

您的SQL包含错误,而脚本不检查SQL错误


$counter = "UPDATE tablename(B) SET xy=xy + 1 WHERE x1='".$row["x1"]."' AND x2 ='".$row["x2"]."'";
这:

应该是:

if ($result2 === false) {
    printf("Invalid query: %s\nWhole query: %s\n", mysqli_error(), $get_counter);
    exit();
}

$row = $result2->fetch_array(MYSQLI_ASSOC);

查看如何在此处检查$result2,以及如果失败,如何打印SQL错误。

我们假设tablenameA、tablenameB在此处只是占位符,因为这不是有效的语法。我们假设tablenameA、tablenameB在此处只是占位符,因为这不是有效的语法。您好,谢谢您的帮助。我必须那样做才能让它工作。谢谢大家。最美好的祝愿你好,谢谢你帮助我。我必须那样做才能让它工作。谢谢大家。best wishesi将此添加到所有查询中。最后,它在result3显示错误。非常感谢。我很高兴这对你有帮助,我在所有的查询中都添加了这一点。最后,它在result3显示错误。非常感谢。我很高兴这对你有帮助

$counter = "UPDATE tablename(B) SET xy=xy + 1 WHERE x1='".$row["x1"]."' AND x2 ='".$row["x2"]."'";