php - 更新sql表

标签 php html mysql sql sql-update

每当我尝试使用以下代码更新表单时,更新都会保持沉默,标题字段中的值为 0,内容字段中的值为先前值。有人可以帮忙吗!!!

管理类.php

更新函数

 if( $form_title && $form_content ){
       $sql = "UPDATE home_page
       SET title = '{$form_title}' AND content = '{$form_content}' WHERE id = {$id}";
       echo $sql;
       $result = $this->mysqli->query( $sql );
       if(!$result){
         echo 'Error'. mysqli_error();
         return;
       }else{
         $this->success_message = "Update Successfull";
         return;
       }
    }

admin.php 查看页面

if( isset( $_POST['update'] ) ){
   $admin_obj->update($_POST, $id);
}

最佳答案

MySQL 静默地转换您的UPDATE 语句并执行 bool 运算。 服务器读取更新语句为

UPDATE home_page
SET title = ('{$form_title}' AND (content = '{$form_content}')) 
WHERE id = {$id} 

您要做的是将 AND 替换为 , 以使其工作。

UPDATE home_page
SET title = '{$form_title}', content = '{$form_content}'
WHERE id = {$id} 

作为旁注,查询易受 SQL Injection 攻击如果变量的值(s) 来自外部。请查看下面的文章,了解如何预防它。通过使用 PreparedStatements,您可以摆脱在值周围使用单引号。

关于php - 更新sql表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15599723/

相关文章:

php - 在 php.ini 中存储 PDO 详细信息

php - Dropzone.js 用 php 删除按钮

javascript - 我更改了代码,但它没有显示倒计时秒数,为什么?

mysql - 从表中删除 MySQL 列名中的所有空格?

PHP:在查询字符串中查找 3 个字符的单词以增强 MySQL 全文搜索

PHP - 单个数组项作为方法的参数

javascript - 如何在一个页面中处理多个表单

javascript - 使用 ID 从 anchor 获取 href 显示未定义

javascript - `display: none` 在 css 动画中不起作用?

mysql - 如何在mysql中创建长名称的表?