You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near
ต้องแก้ไขยังไงครับ
Tag : - - - -
Date :
26 มี.ค. 2551 12:11:10
By :
com1com
View :
1393
Reply :
11
No. 1
Guest
syntax error น่ะครับ
ลองเอาโค้ดที่ใช้มา post สิครับจะได้รู้ว่าไวยากรณ์ผิดตรงไหน
Date :
26 มี.ค. 2551 12:34:34
By :
:)
No. 2
Guest
SQL ผิดครับ
Date :
26 มี.ค. 2551 12:49:51
By :
trans
No. 3
Guest
$strSql = "SELECT dsID,sID FROM table1 WHERE mID='".$mID."' AND ";
$strSql.="dsID IN(SELECT dsID FROM table2 WHERE usesID='".$usesID."') GROUP BY sID";
Date :
26 มี.ค. 2551 13:44:47
By :
com1com
No. 4
Guest
ตามโค๊ดข้างล่างนี้ครับ ส่วนความคิดเห็นที่ 3 ให้ดูไม่ครบครับ
$strSql2 = "SELECT dsID,sID FROM table1 WHERE msnID<>4 AND cgID='$cgID' AND dsID IN (SELECT dsID FROM table2 WHERE userID=".$userID.") GROUP BY sID";
$result2 = mysql_db_query($dbname3, $strSql2) or die(mysql_error());
$x = 0;
while($row2 = mysql_fetch_array($result2))
{
$sID[] = $row2[sID];
$x++;
}
ซึ่งถ้ารันในเครื่องผมเองที่ใช้ appserv 2.4.6 จำลองเป็น server นั้นไม่มีปัญหาครับ
แต่พอนำไปรันเป็น server จริง ๆ แล้วเกิดติด error นะครับ
โดยที่ server ใช้ mysql version 3.23.49 ครับ
Date :
26 มี.ค. 2551 13:55:41
By :
com1com
No. 5
Guest
nested SELECT รู้สึกจะไม่ support mysql server เวอร์ชั่น 3 น่ะครับ
อาจจะต้องแบ่ง query เป็น 2 ช่วง เก็บผลลัพธ์ query อันแรก
(SELECT dsID FROM table2 WHERE userID=".$userID.")
ไว้ใน array แทนครับ
แล้วเอา array มาใช้กับ query ที่สอง
Date :
26 มี.ค. 2551 14:08:40
By :
:)
No. 6
Guest
ยังงง ...ยกตัวอย่างให้ดูหน่อยครับ
Date :
26 มี.ค. 2551 14:14:35
By :
com1com
No. 7
Guest
$strSql1='SELECT dsID FROM table2 WHERE userID=".$userID."';
$result2 = mysql_db_query($dbname3, $strSql1) or die(mysql_error());
while($row=mysql_fetch_array($res1)){
$dsIDs[]=$row['dsID'];
}
$group=implode(',',$dsIDs);
พอได้ รายชื่อ array มาก็เอามาแทนที่ nested select
$strSql2 = "SELECT dsID,sID FROM table1 WHERE msnID<>4 AND cgID='$cgID' AND dsID IN ($group) GROUP BY sID";
$result2 = mysql_db_query($dbname3, $strSql2) or die(mysql_error());
$x = 0;
while($row2 = mysql_fetch_array($result2))
{
$sID[] = $row2[sID];
$x++;
}
Warning: implode(): Bad arguments. in d:\www\prodev\train\compare.php on line 208
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ') GROUP BY sID' at line 1