ของปัญญาจากผู้รู้หน่อยครับ!!!!...ช่วยหน่อยครับไม่รู้จะแก้ไขที่ไหนครับ ลองนำ SQL ไปรันที่ PHPMYADMIN
ไม่เห็นใส่ชื่อ user ตอนคอนเน็คเลยคับ
Date :
2009-05-12 17:39:07
By :
pjgunner
มันเป็น ROOT ครับโทษที อยากเน้นตรง LOOP insert ครับ
Date :
2009-05-12 17:41:34
By :
suneogaz
insert into table
table หรือ โต๊ะ มันคือ MySQL Reserved Words ผมเน้นไปหลายกระทู้แล้วนะครับ ติดแบบนี้กันเยอะจัง
Date :
2009-05-12 17:47:13
By :
plakrim
มันก็เออเร่อแน่นอนคับถ้า echo $sql1 ออกมา เพราะ คุณต่อมันไปเรื่อยๆ
ผมจะแก้ให้แล้วกัน
Code (PHP)
<?php
mysql_connect('localhost','','');
mysql_select_db('database');
for($i=0;$i<3;$i++)
{
$sql = "insert into table (id1,text1) values ('','TEST'); "; //filed => id1 เป็นแบบ Autonumber ครับ
$sql1 .= $sql;
}
mysql_query($sql1);
?>
Date :
2009-05-12 17:50:10
By :
pjgunner
Code (PHP)
<?php
mysql_connect('localhost','root','');
mysql_select_db('database1');
for($i=0;$i<3;$i++)
{
$sql = "insert into table1 (id1,text1) values ('','TEST')"; //filed => id1 เป็นแบบ Autonumber ครับ
$sql1 .= $sql;
}
mysql_query($sql1);
?>
อย่างนี้ก็ไม่ผ่านครับ
Date :
2009-05-12 17:51:39
By :
suneogaz
ใช่คับมันเป็นการนำข้อความมาต่อกัน ผมเน้นที่การ QUERY เพียงครั้งเดียวเพื่อการกินการประมวลผลที่น้อยลง
ถ้านำ Query มาไว้ใน LOOP มันก็ได้ครับ
แต่อยากรู้ว่าผมรัน แบบเขียนโค้ดไม่ได้
แต่เมื่อ COPY ไปวางไว่ใน PHPMYADMIN แล้วมันได้
เป็นเพราะอารัยครับ
Date :
2009-05-12 17:55:57
By :
suneogaz
ตะกี้คุณเอี่ยวพิมพ์ ; แต่ออกมาเป็น <span style="background-color: red;">;</span> ครับ
อีกที่นึงไม่รู้ใช่ป่าวตรง id1 กำหนดเป็น null ครับ
<?php
mysql_connect('localhost','','');
mysql_select_db('database');
for($i=0;$i<3;$i++)
{
$sql = "insert into table (id1,text1) values (null,'TEST');";
$sql1 .= $sql;
}
mysql_query($sql1);
?>
Date :
2009-05-12 18:06:18
By :
num
Code (PHP)
<?php
mysql_connect('localhost','root','');
mysql_select_db('database1');
for($i=0;$i<3;$i++)
{
$sql = "insert into table1 (id1,text1) values (null,'TEST');";
$sql1 .= $sql;
}
mysql_query($sql1);
?>
เหมือนเดิมครับ
Warning: dir(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 ';insert into
Date :
2009-05-12 18:15:03
By :
suneogaz
ผมคิดว่า เส้นผมอาจบังภูเขา อย่างที่เขาร่ำลือกันหละมั้ง
ลองแบบนี้ดูนะ
for($i=0;$i<3;$i++)
{
$sql = "insert into table1 (id1,text1) values (NULL,'TEST');";
$sql1 .= $sql;
}
echo $sql1;
mysql_query($sql1);
หรือจะลองแบบนี้ดูไหม
for($i=0;$i<3;$i++)
{
mysql_query("INSERT INTO table1 VALUES(NULL, 'test')");
}
Date :
2009-05-12 18:40:50
By :
pjgunner
ลองแบบนี้แทนได้ป่าวครับ
insert into table1 (id1,text1) values (null,'TEST'),(null,'TEST'),(null,'TEST');
Date :
2009-05-12 18:51:44
By :
num
ประมาณนี้ครับ ลองแล้ว error เหมือนกับคุณ Suneogaz พอเปลี่ยนเป็น
insert into table1 (id1,text1) values (null,'TEST'),(null,'TEST'),(null,'TEST');
แล้วใช้ครับ
<?php
mysql_connect('localhost','root','');
mysql_select_db('database1');
$s='';
for($i=0;$i<3;$i++)
{
$s.=",(null,'TEST')";
}
$s = "insert into table1(id1,test1) values ".substr($s,1);
mysql_query($s);
?>
Date :
2009-05-12 19:26:37
By :
num
ว่าแต่ตารางที่จะ dump ข้อมูลลงไปน่ะชื่อว่าไรหรอ ถ้ืาชื่อ table ก็ไม่ได้แน่ครับเพราะเป็นคำสงวนของภาษา sql หากไม่ใช่ชื่อ table ก็ให้ใส่
Code (PHP)
<?php
mysql_connect('localhost','root','');
mysql_select_db('database1');
for($i=0;$i<3;$i++)
{
$sql = "insert into ชื่อตารางตรงนี้ (id1,text1) values (null,'TEST');";
$sql1 .= $sql;
}
mysql_query($sql1);
?>
แล้วจากโค้ดเนี้ยทำ for ไปทำไมหรอครับเพราะถ้าทำแบบนี้จะวนกี่รอบผลที่ได้ก็จะเท่ากับ null,TEST อยู่ดี for ไม่ได้ทำให้อะไรเปลี่ยนไปเลยเพราะ ตัว query มันอยู่นอก for เ ท่ากับสั่งให้อินเสริจแค่ครั้งเดียวเท่านั้นเอง
Date :
2009-05-12 19:27:39
By :
melodyApinan
พอดีผมลบ comment ของคุณ Suneogaz ออกไป id1 เป็น column ที่ auto_increment น่ะครับ
Date :
2009-05-12 19:44:08
By :
num
งั้นก็ต้องเขียนแบบนี้ครับ
Code (PHP)
<?php
mysql_connect('localhost','root','');
mysql_select_db('database1');
$sql = "insert into ชื่อตารางตรงนี้ (text1) values ('TEST');";
mysql_query($sql) || die(mysql_error());
?>
ลองแค่นี้ละกัน
Date :
2009-05-12 20:16:59
By :
melodyApinan
อ่อโทษทีผมลืมดูจุดที่่อยู่ตรง $sql1 .=$sql;
งั้นก็เขียนแบบนี้นะ
Code (PHP)
<?php
mysql_connect('localhost','ชื่อผู้ใช้งาน','');
mysql_select_db('อันนี้ก็ชื่อฐานข้อมูลจิงๆต้องมีจิงๆ');
for($i=0;$i<3;$i++)
{
$sql = "insert into ชื่อตารางที่มีอยู่จิง (text1) values ('TEST')"; //filed => id1 เป็นแบบ Autonumber ครับ
$sql1 .= $sql;
}
mysql_query($sql1);
?>
Date :
2009-05-12 20:21:48
By :
melodyApinan
Load balance : Server 00