php - 无法显示 SELECT 结果 sql

标签 php android mysql sql select

我尝试获取 gmail = $gmail 的 id 并将其用于 UPDATE 表

但我不能使用 from id 和 showin 错误未定义属性:mysqli_result::$fetch_assoc

函数添加验证码($gmail , $random) {

    $connection = mysqli_connect(DataBaseManager::HOST, DataBaseManager::USER, DataBaseManager::PASSWORD, DataBaseManager::DATABASENAME);
    mysqli_set_charset($connection, "utf8");
    $sqlQuery = "SELECT id FROM users WHERE gmail='$gmail'";
    $result = mysqli_query($connection, $sqlQuery);
    if ($result->num_rows > 0) {
            $sqlCommand = "UPDATE users
                      SET verificationcode  = '$random' 
                        WHERE id = $result->fetch_assoc()";
    }

    if(mysqli_query($connection, $sqlCommand)){
        return true;
    }else{
        echo("Error description: " . mysqli_error($connection));
        return false;
    }


    }

最佳答案

你必须使用 curly braces在对象中调用方法时:

        $sqlCommand = "UPDATE users
                  SET verificationcode  = '$random' 
                    WHERE id = {$result->fetch_assoc()}";

另一种方法是使用连接:

        $sqlCommand = "UPDATE users
                  SET verificationcode  = '$random' 
                    WHERE id = " . $result->fetch_assoc();

请注意,在这种情况下,您可以将两个 SQL 语句合并为一个,例如 update .. where id = (select id from ...)

另请注意,您发布的代码容易受到 SQL 注入(inject)攻击。参见 How can I prevent SQL injection in PHP?

关于php - 无法显示 SELECT 结果 sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54558517/

相关文章:

php - 在 Android 应用程序中使用 POST 将 JSON 发送到服务器

android - Android 4.2 离线语音识别API

android - 在数据库中保存/检索 "Rich Formatted Text"而不会丢失其格式

python - Django Select Query获取带条件的多列

python - mysqldump 的奇怪十六进制字符行为

mysql - 无法安装以前版本的 Sphinx

PHP Soap xml 与 SoapUI xml

javascript - 尝试使用 AJAX 提交而不刷新,失败无提示

php - 自动滚动到页面底部

php - 分配一个等于 Include 函数内容的变量