Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.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 SQL更新查询 目标_Php_Sql - Fatal编程技术网

PHP SQL更新查询 目标

PHP SQL更新查询 目标,php,sql,Php,Sql,我正在尝试更新SQL 我怀疑问题要么与我的sql查询有关,要么与我的连接有关。虽然,我可能完全错了 如果它很混乱,我深表歉意,但我正在使用console.log尝试调试该问题,控制台输出为: B.1 B.2 D.1 D.2 D.3 B.2.1 B.5 关于sql查询,我尝试了以下两种方法: $sql=“更新用户集描述=”。'$描述'。“WHERE userID=“.”$这个->用户ID' $sql=“更新用户集描述='$description',其中userID='$this->userID

我正在尝试更新SQL

我怀疑问题要么与我的sql查询有关,要么与我的连接有关。虽然,我可能完全错了

如果它很混乱,我深表歉意,但我正在使用
console.log
尝试调试该问题,控制台输出为:

B.1
B.2
D.1
D.2
D.3
B.2.1
B.5
关于sql查询,我尝试了以下两种方法:

  • $sql=“更新用户集描述=”。'$描述'。“WHERE userID=“.”$这个->用户ID'
  • $sql=“更新用户集描述='$description',其中userID='$this->userID'
代码 编辑profile handler.php

<?php

if(isset($_POST['edit-profile-button'])) {
    $description = $_POST['edit-description'];

    echo '<script>console.log("B.1")</script>';

    if(isset($description)) {
        echo '<script>console.log("B.2")</script>';
        $result = $user->updateDescription($description);
        echo '<script>console.log("B.2.1")</script>';
    }

    if($result == true) {
        echo '<script>console.log("B.4")</script>';
        header("Location: profile.php");
    }

    echo '<script>console.log("B.5")</script>';
}
?>
<?php

class User {

    private $con;
    private $userID;
    private $description;

    public function __construct($con, $userID) {
        $this->con = $con;
        $this->userID = $userID;

        $sql = "SELECT * FROM Users WHERE userID='$this->userID'";
        $query = mysqli_query($this->con, $sql);
        $user = mysqli_fetch_array($query);

        $this->description = $user['description'];
    }

    public function getID() {
        return $this->userID;
    }

    public function updateDescription($description) {
        echo '<script>console.log("D.1")</script>';
        $sql = "UPDATE Users SET description = '$description' WHERE userID = '$this->userID'";
        echo '<script>console.log("D.2")</script>';
        $result = mysqli_query($this->con, $sql);
        echo '<script>console.log("D.3")</script>';
        return $result;
        echo '<script>console.log("D.4")</script>';
    }

}

?>

您的
$result
变量没有返回布尔值,因为它处理更新查询结果


因此,在您的
updateDescription
函数中,尝试返回
mysqli\u受影响的行()
,然后尝试检查
编辑配置文件处理程序.php
如果
$return>0
这意味着有行受您的更新影响。您可以参考谢谢@Roshan,我按照建议进行了尝试,
mysqli\u受影响的行($result)
=0。这是否意味着问题在于
$sql
查询?我已经测试了与数据库的连接,它正在使用
登录
注册
等。连接必须是如下参数<代码>$success=mysqli\u受影响的行($this->con)
然后返回
$success
。谢谢@Roshan,我已经按照建议做了。查询为
$sql=“更新用户集描述='hello mick',其中userID=2”它工作!所以我怀疑这是我的$sql查询的一个问题,尽管我很难找到答案。