Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysql PDO中插入数据时出错_Php_Mysql - Fatal编程技术网

Php mysql PDO中插入数据时出错

Php mysql PDO中插入数据时出错,php,mysql,Php,Mysql,在创建函数时,我尝试通过PDO将数据插入mysql时出错 Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'sadas' in 'field list'' in /opt/lampp/htdocs/site1/admin/functions/function.php:13 Stack trace: #0 /opt/

在创建函数时,我尝试通过PDO将数据插入mysql时出错

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'sadas' in 'field list'' in /opt/lampp/htdocs/site1/admin/functions/function.php:13 Stack trace: #0 /opt/lampp/htdocs/site1/admin/functions/function.php(13): PDO->query('insert into sub...') #1 /opt/lampp/htdocs/site1/admin/functions/function.php(31): add_subject('sadas') #2 {main} thrown in /opt/lampp/htdocs/site1/admin/functions/function.php on line 13
代码


这不是使用PDO插入数据的方式,您需要使用准备好的语句。这样你就不会有引号的问题了

<?php 
 try {
  $connection=new PDO('mysql:host=127.0.0.1;dbname=alshba7','root','987654alshba');
  $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch (PDOException $e) {
  die('there is problem');

}

 function add_subject ($title){
         global $connection;   
 $add=$connection->prepare("INSERT INTO sub (title) VALUES(?)");
    if($add->execute([$title])){

        echo "done";
    }

          } 
 add_subject ('sadas');  
?>

你不是真的在用PDO。。。至少你不应该这样。通过一次性组装包含数据的查询字符串,您可以在这里进行SQL注入。阅读准备好的语句。我也会更改你的DB密码,考虑这个泄露了。