2016-07-26 3 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 래퍼는 호출 당 하나의 쿼리 만 허용합니다. 그래서 당신의 $conn->query([5queries])는해야 다섯 $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()'를 사용하여 오류를 가져 와서 어딘가에 출력하십시오. 나는 당신의'insert into menuinstant' 쿼리가 몇 가지 중복 된 기본 키 오류를 가질 것이라고 생각합니다.) – Jakumi

+0

예를 들어 주길 호의를 베풀 수 있습니까? 나는 이것에 처음이다. –

관련 문제