 |
ของปัญญาจากผู้รู้หน่อยครับ!!!!...ช่วยหน่อยครับไม่รู้จะแก้ไขที่ไหนครับ ลองนำ 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 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|