搜尋

首頁  >  問答  >  主體

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執行時是可以插入資料的,而且有插入權限,請問為什麼這裡出錯了?

某草草某草草2755 天前790

全部回覆(4)我來回復

  • 曾经蜡笔没有小新

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

    use mydb後面加個分號,因為這是兩句sql

    回覆
    0
  • 阿神

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

    你在連線的時候就已經指定了資料庫了,所以不需要use mydb

    回覆
    0
  • 迷茫

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

    是不是符號沒用好,試下這樣行不行:
    $sql='use mydb insert into admin ("userid","password","collection") values ("John", "Doe", "jo" )';

    回覆
    0
  • 高洛峰

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

    use mydb 不需要每次都指定的,只要指定一次,然後SQL

    回覆
    0
  • 取消回覆