2016-07-26 11 views
0

私は都市変数を変更してテーブル全体を入力しようとしていますが、データを保存する一時テーブルを作成すると、ここにコードがありますPDO PHPのいくつかのクエリが実行中であり、一部ではありません

<?php 
    if(isset($_POST['btnsub'])){ 
     $city=$_POST['city']; 
     $query= $conn->query("create table from_php like menuinstant; 
     insert into from_php select * from menuinstant where city='Kota'; 
     update from_php set id = replace(id,'Kota','.$city.'); 
     update from_php set city = replace(city,'Kota','.$city.'); 
     insert into menuinstant select * from from_php; 
     drop table from_php 
     "); 
    echo "table created"; 
    } 
?> 

メニューインスタンスへの挿入は、それが動作してもドロップクエリでさえ実行されません。私を助けてください。

答えて

0

ほぼすべてのデータベース/ sqlラッパーは、呼び出しごとに1つのクエリのみを許可します。ので、あなたの$conn->query([5queries])があるべき5 $conn->query([1stquery]); $conn->query([2ndquery]); ...

アップデート1: あなたは/もエラーをチェックすることができなければならない:

$result = $conn->query('[Your query here]'); 
if($result === false) { 
    die(print_r($conn->errorInfo(),true)); 
} 

アップデート2: mysqlの注射をよく読んでください。例えば、http://php.net/manual/en/security.database.sql-injection.php

+0

ただ、それを壊してみました。まだ動作していません。 –

+0

おそらく '$ conn-> query'の戻り値を調べるべきでしょう。 'false'の場合は' $ conn-> errorInfo() 'でエラーを取り出し、どこかに出力します。私はあなたの 'に挿入すると、あなたの'を挿入することを推測しているいくつかの重複して主キーのエラーが表示されます; o) – Jakumi

+0

私は例を与えるために賛成できますか?私はこれに新しいです –

関連する問題