SQL UPDATE坏了

时间:2014-04-26 02:35:07

标签: php sql

我一直在对此代码进行故障排除,但它无法正常工作,我无法找到原因。有人看到错误吗?另外,我知道没有WHERE语句,我故意想要更新所有记录。

<?php
// Connect to database
$link = mysqli_connect('*****', '*****', '*****'); 
if (!$link) { 
    die('Could not connect: ' . mysqli_connect_error()); 
} 
mysqli_select_db(bullseye);

// Varaible setting
$header = $_POST['header'];
$video = $_POST['video'];
$m_title = $_POST['m_title'];
$m_sub = $_POST['m_sub'];
$w_title = $_POST['w_title'];
$w_sub = $_POST['w_sub'];
$w_t1 = $_POST['w_t1'];
$w_t2 = $_POST['w_t2'];
$w_t3 = $_POST['w_t3'];
$w_d1 = $_POST['w_d1'];
$w_d2 = $_POST['w_d2'];
$w_d3 = $_POST['w_d3'];
$p_title = $_POST['p_title'];
$p_sub = $_POST['p_sub'];

    mysqli_query($link, "UPDATE tbl_name SET 
    header=$header, 
    video=$video, 
    mtitle=$m_title, 
    msub=$m_sub, 
    wtitle=$w_title, 
    wsub=$w_sub, 
    wt1=$w_t1, 
    wt2=$w_t2, 
    wt3=$w_t3, 
    wd1=$w_d1 
    wd2=$w_d2, 
    wd3=$w_d3, 
    ptitle=$p_title, 
    psub=$p_sub");
?>

编辑:

mysqli_query($link, "UPDATE about SET 
    header='$header', 
    video='$video', 
    mtitle='$m_title', 
    msub='$m_sub', 
    wtitle='$w_title', 
    wsub='$w_sub', 
    wt1='$w_t1', 
    wt2='$w_t2', 
    wt3='$w_t3', 
    wd1='$w_d1', 
    wd2='$w_d2', 
    wd3='$w_d3', 
    ptitle='$p_title', 
    psub='$p_sub'");

3 个答案:

答案 0 :(得分:0)

首先,您应该使用MySQLi进行准备,以保护自己免受MySQL注入:

$mysqli = new mysqli("localhost", "my_user", "my_password", "bullseye");
$query = $mysqli->prepare("UPDATE tbl_name SET 
        header=?, 
        video=?, 
        mtitle=?, 
        msub=?, 
        wtitle=?, 
        wsub=?, 
        wt1=?, 
        wt2=?, 
        wt3=?, 
        wd1=? 
        wd2=?, 
        wd3=?, 
        ptitle=?, 
        psub=?");

$query->bind_param("ssssssssssssss, $header, $video, $m_title, $m_sub, $w_title, $w_t1, $w_t2, $w_t3, $w_d1, $w_d2, $w_d3, $p_title, $p_sub");

$query->execute();

$query->close();

$mysqli->close();

此代码应该有效。如果它没有发布错误。

答案 1 :(得分:0)

看起来您需要使用变量连接查询。而不只是一个大字符串。

答案 2 :(得分:0)

您应该使用以下内容来选择数据库:

mysqli_select_db($link, "bullseye");