【问题标题】:Mysqli_Query INSERTMysqli_Query 插入
【发布时间】:2013-10-19 23:54:33
【问题描述】:

由于某种原因,这段代码没有插入到我的数据库中,我发誓几天前它还在工作。现在,什么都没有。有没有人知道为什么它不起作用?它只是给出任何错误。

$con=mysqli_connect($host,$username,$password,$dbname) or die('Error->' .mysqli_error($con));

function quote2entities($string,$entities_type='number')
{
    $search                     = array("\"","'");
    $replace_by_entities_name   = array(""","'");
    $replace_by_entities_number = array(""","'");
    $do = null;
    if ($entities_type == 'number')
    {
        $do = str_replace($search,$replace_by_entities_number,$string);
    }
    else if ($entities_type == 'name')
    {
        $do = str_replace($search,$replace_by_entities_name,$string);
    }
    else
    {
        $do = addslashes($string);
    }
    return $do;
}
echo mysqli_error($con);

$c = quote2entities($_POST['company']);
$mem = quote2entities($mem);
$cp = quote2entities($cp);
$vcc = quote2entities($vcc);
$addy = quote2entities($addy);
$contact = quote2entities($contact);
$date = quote2entities($date);
$type = quote2entities($type);


echo $c ;
echo $contact;
echo $vcc;
$query = "INSERT INTO project (company) VALUES (".$c.")";
mysqli_query($con, $query);
mysqli_close($con);

【问题讨论】:

  • 你换过服务器吗?
  • 您是否碰巧更改了此('Error->'> 可能在捉弄你。
  • 也将VALUES (".$c.") 更改为VALUES ('".$c."') 可能是另一回事
  • 让我再试一次 ('".$c."'),它之前已经设置好了。我也不知道,('Error->' 是使用字面术语设置的,所以这不是问题。@Fred -ii-
  • 不使用绑定参数...不检查 mysqli_query() 的返回值...不打印任何错误消息...来吧,这已经在 StackOverflow 上回答了数百次了。跨度>

标签: php insert mysqli


【解决方案1】:

VALUES (".$c.") 更改为VALUES ('".$c."')

变量需要用单引号括起来。

您也可以使用单引号 ('$c')('.$c.') 作为其他选项。

这些我已经知道了,不过你可以咨询:When to use single quotes, double quotes, and backticks in MySQL 查看不同的组合。

【讨论】:

    【解决方案2】:

    永远不要使用此代码。
    因为它没有任何意义:由于某种原因,您在处理 database 时使用了 HTML 编码。 这显然是错误的。更不用说您应该使用准备好的语句而不是将值插入到查询中。

    请摆脱您当前的方法并在此处学习正确的方法:How can I prevent SQL injection in PHP?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-30
      • 2020-03-14
      • 2013-03-16
      • 2016-01-13
      • 1970-01-01
      • 1970-01-01
      • 2018-05-04
      • 1970-01-01
      相关资源
      最近更新 更多