ホームページ > バックエンド開発 > PHPチュートリアル > SQL ステートメントを使用して PHP でテーブルを作成することに関する質問

SQL ステートメントを使用して PHP でテーブルを作成することに関する質問

WBOY
リリース: 2016-06-13 13:06:47
オリジナル
868 人が閲覧しました

SQL ステートメントを使用して php でテーブルを作成する問題については、

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

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

ログイン後にコピー

問題を見つけてください。ただし、SQL ステートメントをコピーした後、作成エラーの問題を報告し続けます。 phpmyadmin、それは完全に作成できます。これの理由は何ですか? 以下に同様の状況があります。
PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<?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) か死ぬか( mysql_error()); // エラーが報告されるかどうかを確認するには、これを変更します。以下も同様です。
------解決策----------------------
コードの最初の部分はテストされており、問題はありません問題は、テーブルは正しく作成できます
2 番目のコードの SQL コマンドが間違っています
$sql="insert into user2(name,password,age,sex,mail,qq,degree,fav)value(' $user', '$pass','$age','$sex','$mail','$qq','$degree','$fav_z')";
つまり、 $qq
の前に一重引用符がありません
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート