我疯了,这个片段中的错误在哪里?
<?php
include('db.php');
switch ($_REQUEST['tab']) {
case 'categorie':
$sql = mysql_query("SELECT * FROM categorie");
echo "INSERT INTO categorie ( id, nome, free, pos ) VALUES " ;
$a=0;
while($tmp = mysql_fetch_array($sql))
{
if($a!=0)
echo ",";
echo "(".$tmp['id'].", '".$tmp['nome']."', ".$tmp['free'].", ".$tmp['pos'].")";
$a=1;
}
break;
case 'articoli':
$sql = mysql_query("SELECT * FROM articoli");
echo "INSERT INTO articoli ( id, titolo, testo, sottocategoria, free, pos ) VALUES " ;
$a=0;
while($tmp = mysql_fetch_array($sql))
{
if($a!=0)
echo ",";
echo "(".$tmp['id'].", '".$tmp['titolo']."', '".$tmp['testo']."', ".$tmp['sottocategoria'].", ".$tmp['free'].", ".$tmp['pos'].")";
$a=1;
}
break;
case 'sottocategorie':
$sql = mysql_query("SELECT * FROM sottocategorie");
echo "INSERT INTO sottocategorie ( id, nome, categoria, free, pos ) VALUES " ;
$a=0;
while($tmp = mysql_fetch_array($sql))
{
if($a!=0)
echo ",";
echo "(".$tmp['id'].", '".$tmp['nome']."', ".$tmp['categoria'].", ".$tmp['free'].", ".$tmp['pos'].")";
$a=1;
}
break;
}
?>
表示
附近有语法错误我发布了整个代码.......................................... .....................................
答案 0 :(得分:1)
编辑:在您的澄清之后,问题不在您的PHP中,而在于执行PHP脚本的输出。
您的PHP将生成类似于;
的输出INSERT INTO A (a,b,c) VALUES (1,2,3),(4,5,6) // <-- note the missing semicolon
INSERT INTO B (a,b,c) VALUES (1,2,3),(4,5,6) // <-- note the missing semicolon
添加缺少的分号,你应该开始工作了。
----原创答案----
while($tmp = mysql_fetch_array($Query))
{
...
}
break;
你的循环之外有一个break
,这是(除非它嵌套在另一个循环中)是语法错误。
此外,您的SQL从名为table
的表中进行选择,该表是一个保留的MySQL关键字。如果确实有一个名为table
的表,则需要将查询更改为;
$Query = mysql_query("SELECT * FROM `table`");