데이터베이스에 데이터를 삽입하는 데 사용하려고하는 플렉스 응용 프로그램이 있습니다. 나는 내 데이터가 내 PHP 파일에 도달하고 내 쿼리의 모든 변수가 내 쿼리의 올바른 위치에 삽입된다는 것을 확신합니다.심각하게, 왜 내 SQL이 실행되지 않습니다 '-
하지만 : 아무 것도 모두 플렉스 및 PHP는 지금 시간을 검색하고, 내 데이터베이스에 입력되지 도착하지만 실수 찾을 수 없습니다 :
<?php
include_once("Connection.php");
$go = true;
if(isset($_GET['table'])){
$tableNr = $_GET['table'];
} else {
$go = false;
}
if(isset($_GET['gerechtId'])){
$gerechtID = $_GET['gerechtId'];
} else {
$go = false;
}
if(isset($_GET['aantal'])){
$aantal = $_GET['aantal'];
} else {
$go = false;
}
if($go){
$query = "INSERT INTO bestelling (Tafelnummer, StatusID)
VALUES (". $tableNr . ", 1);
INSERT INTO orders (bestellingID, gerechtID, aantal)
VALUES (@@IDENTITY, " . $gerechtID . ", " . $aantal . ");";
mysql_query($query);
mysql_close();
echo($query);
}
?>
내가 실수는 거기에 없다 꽤 확신을, 하지만 확실하기 만하면 쿼리가 실행됩니까?
MySQL은 기본적으로 쿼리 당 1 개의 문을 가지고 있습니다. 따라서 개별 쿼리에서 각 명령문을 실행해야합니다. (설정을 변경하지 않았다고 가정) – Supericy
또한 SQL 주입 취약점을 수정하십시오. 쿼리에서 사용하기 전에 게시/가져 오기/쿠키 바를 필터링해야합니다. – datasage
또한, 사용중인 이전 PHP mysql API는 [PHP 5.5부터 더 이상 사용되지 않습니다.] (http://php.net/manual/en/mysqlinfo.api.choosing.php), 미래. 새로운 [mysqli] (http://php.net/manual/en/book.mysqli.php) API는 쿼리 당 여러 명령문을 지원합니다. –