在尝试更新我的sql数据库时在php中出错

时间:2014-12-14 22:48:55

标签: php mysql

所以基本上我收到了这个错误:

  

"您的SQL语法出错了;检查与您的MySQL服务器版本相对应的手册,以获得正确的语法,以便在不可避免的地方使用。

这是一种可以而且必须克服的不公正。当我们给o'在第1行"我正在尝试将关于我们的页面变为textarea以获取数据库中的所有信息,并允许用户更新将其发送到数据库的信息。我已经为主页做了这个,它使用相同的代码工作得很好。这是我收到错误的代码..

<?php
include('../connect.php');
session_start();
if(!isset($_SESSION['csc2024_40104547']))
{
header("Location: login.php");

}



    $id = $_POST['id'];    
    $h1 = $_POST['h1'];
    $h2 = $_POST['h2'];
    $h3 = $_POST['h3'];
    $h4 = $_POST['h4'];
    $h5 = $_POST['h5'];
    $h6 = $_POST['h6'];
    $li1 = $_POST['li1'];
    $li2 = $_POST['li2'];
    $li3 = $_POST['li3'];
    $li4 = $_POST['li4'];
    $li5 = $_POST['li5'];
    $li6 = $_POST['li6'];
    $li7 = $_POST['li7'];
    $p1 = $_POST['p1'];
    $p2 = $_POST['p2'];
    $p3 = $_POST['p3'];
    $p4 = $_POST['p4'];
    $p5 = $_POST['p5'];
    $p6 = $_POST['p6'];
    $vid1 = $_POST['vid1'];
    $vid2 = $_POST['vid2'];
    $vid3 = $_POST['vid3'];
    $vid4 = $_POST['vid4'];


$query = "Update about123 set h1='$h1',p1='$p1',p2='$p2',li1='$li1',li2='$li2',li3='$li3',li4='$li4',li5='$li5',li6='$li6',li7='$li7',h2='$h2',h3='$h3',vid1='$vid1',p3='$p3',h4='$h4',vid2='$vid2',p4='$p4',h5='$h5',vid3='$vid3',p5='$p5',h6='$h6',vid4='$vid4',p6='$p6' WHERE id='$id'";
$display = mysql_query($query) or die(mysql_error());

1 个答案:

答案 0 :(得分:-2)

你应该为每个$ _POST []元素使用mysql_real_escape_string()。否则像撇号和引号之类的东西会破坏你的查询。例如:

$id = mysql_real_escape_string($_POST['id']);