2017-12-20 4 views
-1

정말 idk는 내가 여기에 1 개의 신호 열에 삽입하려고 할 때마다 무엇이 잘못 되었습니까 ??PDO를 하나의 열로 삽입

가 연결된 데이터베이스가 잘 tabel 이름은 'STAD'두 행 'ID'AI PRIMARY 등을 포함하고있다 '이름'고유

<?php 

    @$submit = $_POST['submit'] ; 
    @$stadName = $_POST['stadName']; 
    if(isset($submit)){ 
     if(!$stadName){ 
     echo "Error" ; 
     }else{ 
     $sql = 'INSERT INTO stad name VALUES :name'; 
     $stmt = $pdo->prepare($sql); 
     $stmt->execute(['name' => $stadName]); 
     echo "DONE" ; 
     } 
    } 
    ?> 

연결 파일

<?php 
$serv = '127.0.0.1'; 
$user = 'root'; 
$pass = 'root'; 
$dbname = 'akfoot'; 

// db base connection 
$pdo = new PDO('mysql:dbname='.$dbname.';host='.$serv.'; charset=utf8',$user,$pass); 

?> 

데이터베이스

enter image description here

답변

2

누락되었습니다.

$sql = 'INSERT INTO stad (name) VALUES (:name)'; 
$stmt = $pdo->prepare($sql); 
$stmt->execute(['name' => $stadName]); 
+0

그 이유는 ( ) 내가 다른 물건을 시도했기 때문입니다. –

+0

'$ stmt-> execute ([ 'name'=> $ stadName]); 이것은' $ stmt-> execute ([ ': name'=> $ stadName]); '나는 추측한다. –

-1
<?php 
include "connect.php" ; 

@$submit = $_POST['submit'] ; 
@$stadName = $_POST['stadName']; 
    if(isset($submit)){ 
if(!$stadName){ 
    echo "error" ; 
}else{ 
    $sql = 'INSERT INTO stad (name) VALUES (:name)'; 
$stmt = $pdo->prepare($sql); 
$stmt->execute(['name' => $stadName]); 
echo "done" ; 
} 
} 
?> 

data base 이있는 연결 파일

<?php 
$serv = '127.0.0.1'; 
$user = 'root'; 
$pass = 'root'; 
$dbname = 'akfoot'; 

// db base connection 
$pdo = new PDO('mysql:dbname='.$dbname.';host='.$serv.'; charset=utf8',$user,$pass); 

?> 
-1

문제가 있었다 : (이, 그 괄호가 필요 하나 열 경우에도) 당신의 열 목록은 대괄호하고 값 목록 데이터 유형이 아랍어이고 다른 인코딩 유형을 사용했고 라틴계 대신 UTF8 빈을 사용해야합니다.

주저하지 말고 감사합니다. OW 무엇을 잘못했는지