日期:2014-05-17  浏览次数:20422 次

关于php中利用sql语句创建表的问题
PHP code
<?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 code

<?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";
?>



------解决方案--------------------
$do=mysql_query($sql,$con) or die(mysql_error()); //改成这样看报错了没有,下面也是如此
------解决方案--------------------
第一段代码,经测试没有问题,表能正确创建
第二段代码中sql指令有误
$sql="insert into user2(name,password,age,sex,mail,qq,degree,fav)value('$user','$pass','$age','$sex','$mail','$qq','$degree','$fav_z')";
即 $qq 前少了个单引号