<?php
$con=mysql_connect("localhost","root","");
if($con)
{
mysql_select_db("text",$con);
mysql_query("set name gtf8");
$sql="create table user_date
(
id int(5) not null auto_increment primary key,
name char(10) not null default '',
password char(12) not null default '',
age int(3) not null default 0,
sex char(10)  not null default 'man',
mail char(50) not null default '',
qq char(10) not null default '', 
gedree char(10) not null default '',
fav char(50) not null default ''
)";
$do=mysql_query($sql,$con);
if($do)
{
echo "create user data successful!!";
}
else 
echo "create error!!!!!";
}
else 
{
echo "connect error!!!!";
}
?>求大神找找问题,一直报错 create error的问题..但是将sql语句复制出来之后,在phpmyadmin中,又可以完美创建,这是什么原因造成的?下面还有一个类似的情况.就是插入有问题..<?php
echo "<style type=\"text/css\">
<!--
body {color:#000099;font-size:10pt; text-align:center}
-->
</style>";
if($_POST)
{
$user=$_POST["user"];
$pass=$_POST["pass"];
$age=$_POST["age"];
$sex=$_POST["sex"];
$mail=$_POST["mail"];
$qq=$_POST["qq"];
$degree=$_POST["degree"];
$fav=$_POST["fav"];
$len=count($fav);
$fav_z="";
for($i=0;$i<$len;$i++)
{
$fav_z=$fav_z.$fav[$i];
if($i<$len-1)
$fav_z=$fav_z.",";
}
$con=mysql_connect("localhost","root","");
mysql_select_db("ceshi");
mysql_query("set names GB2312");
$sql="select count(*) from user2 where name='$user'";
$result=mysql_query($sql);
$num=mysql_fetch_row($result);
if($num[0]>0)
{
echo "have the same name!try another one.";
}
else 
{
$sql="insert into user2(name,password,age,sex,mail,qq,degree,fav)value('$user','$pass','$age','$sex','$mail',$qq','$degree','$fav_z')";
$re=mysql_query($sql);
if($re)
echo "insert successful!";
else echo "insert error~!";
echo "<p>";
}
}
else 
{
echo "nothing upload!<br>";
}
echo "<br>click<a href='reg.html'>there</a> return";
?>

解决方案 »

  1.   

    id,name,password,.....
    把这些属性都用``符号括起来试试看,有可能是SQL关键字,就会出错的。password好像是个函数
      

  2.   

      $do=mysql_query($sql,$con) or die(mysql_error());  //改成这样看报错了没有,下面也是如此
      

  3.   

     $sql="insert into user2(`name`,`password`,age,sex,mail,qq,degree,fav)values('$user','$pass','$age','$sex','$mail','$qq','$degree','$fav_z')";
      

  4.   

    第一段代码,经测试没有问题,表能正确创建
    第二段代码中sql指令有误
    $sql="insert into user2(name,password,age,sex,mail,qq,degree,fav)value('$user','$pass','$age','$sex','$mail','$qq','$degree','$fav_z')";
    即 $qq 前少了个单引号
      

  5.   

    用这个方法 第一个代码可以正常创建表格.第二个还是有错..报告说我的degree不在field list中..然后我进入数据库看见表单下面的degree书写有误.所以导致无法插入.谢谢你的指导.