PHP MyAdmin에서 SQL 쿼리를 실행하면 라인이 올바르게 삽입됩니다. PHP에서 실행할 때, 그렇지 않습니다.mySQL 쿼리는 PHP에서 작동하지 않지만 PHPMyAdmin에서 작동합니다.
각 텍스트를 제공 할 예정입니다. 그들은 동일하지만 나는 뭔가를 놓쳤을지도 모르지만 나는 차이가 없다고 가정하고 싶지 않습니다.
이제$orderSend = "SET @typeSQL := (SELECT `typeID` FROM `ArbuckleType` WHERE `typeName` = 'A la Carte');
SET @groupSQL:= (SELECT `groupID` FROM `ArbuckleGroup` WHERE (`groupName` = 'Nigiri' AND `typeID` = @typeSQL));
SET @itemSQL:=(SELECT `itemID` FROM `ArbuckleItem` WHERE (`itemName` = 'Salmon' AND `groupID` = @groupSQL));
INSERT INTO `ArbuckleOrderDetails` VALUES('', '$orderID', @typeSQL,@groupSQL, @itemSQL, '$quantity', '$spicy')";
mysql_query($orderSend);
PHP의 MyAdmin에서 : PHP에서
SET @type := (SELECT `typeID` FROM `ArbuckleType` WHERE `typeName` = 'A la Carte');# MySQL returned an empty result set (i.e. zero rows).
SET @group:= (SELECT `groupID` FROM `ArbuckleGroup` WHERE (`groupName` = 'Nigiri' AND `typeID` = @type));# MySQL returned an empty result set (i.e. zero rows).
SET @item:=(SELECT `itemID` FROM `ArbuckleItem` WHERE (`itemName` = 'Salmon' AND `groupID` = @group));# MySQL returned an empty result set (i.e. zero rows).
INSERT INTO `ArbuckleOrderDetails` VALUES('', '$orderID', @type,@group, @item, '$quantity', '$spicy')
참고 : 나는 SET 호출 (3 선이 변수를 설정)없이 PHP는 쿼리를 실행하고 일; 하지만 그 라인에 잘못된 구문이 어디에 있는지 알 수는 없습니다. 또한 mysql_error를 실행했고 구문 오류가 있음을 알았습니다. 그런 다음 설명서를 살펴 보도록 요청합니다. 매우 도움이되는, mysql.
나는 mysql_ * 함수를 사용하지 않을 것입니다. 그것들은 더 이상 사용되지 않으며 좋은 이유가 있습니다. 더 많은 것을 읽으십시오 : http://www.php.net/manual/en/mysqlinfo.api.choosing.php –