>  Q&A  >  본문

php - pdo向数据库插入数据失败?

错误代码:

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'insert into admin (userid,password,collection) values ('John', 'Doe', 'jo')' at line 1

pdo代码:

$servername="localhost";
$user="root";
$psw="444444";
try{
            
            
            $con=new PDO("mysql:host=$servername;dbname:mydb",$user,$psw);
            $con->query("set names utf8");
            $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

            
            if($con){
                
                $sql="use mydb insert into admin (userid,password,collection) values ('John', 'Doe', 'jo')";
                $con->exec($sql);

            }
            }
            catch(PDOException $e)
            {
                echo  $e->getMessage();
            }

报错信息说我sql有语法错误,但是我的sql语句在mysql执行时是可以插入数据的,而且有插入权限,请问为什么这里出错了?

某草草某草草2737일 전777

모든 응답(4)나는 대답할 것이다

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 13:00:00

    use mydbSQL의 두 문장이므로 뒤에 세미콜론을 추가하세요

    회신하다
    0
  • 阿神

    阿神2017-05-16 13:00:00

    연결할 때 이미 데이터베이스를 지정했으므로 필요하지 않습니다use mydb.

    회신하다
    0
  • 迷茫

    迷茫2017-05-16 13:00:00

    기호가 잘 사용되지 않아서일까요? 이렇게 해 보세요:
    $sql='admin ("userid","password","collection") 값에 mydb 삽입 ​​("John", "Doe", " 조" )';

    회신하다
    0
  • 高洛峰

    高洛峰2017-05-16 13:00:00

    use mydb는 매번 지정할 필요가 없으며 한 번만 지정하고 SQL을 지정하면 됩니다

    회신하다
    0
  • 취소회신하다