ホームページ  >  記事  >  バックエンド開発  >  PHP テーブルの作成に失敗しましたが、エラーは報告されませんでした。解決策を提供してください。

PHP テーブルの作成に失敗しましたが、エラーは報告されませんでした。解決策を提供してください。

WBOY
WBOYオリジナル
2016-06-13 13:36:13836ブラウズ

PHP テーブルの作成に失敗しましたが、

PHP コード
<!--

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

-->
<?php
        //连接数据
        $con=mysql_connect("localhost","root","welcome123") or die("无法连接数据库".mysql_error());
        //判断是否有my_project数据库
        $existDB=mysql_select_db("my_project",$con);
        //echo "没有my_project数据库";
        if(!$existDB)
        {
            //创建数据库
            $cdatabseSql="Create DATABASE my_project";
            mysql_query($cdatabseSql,$con);
        }
        else
        {
            echo "有数据库";
        }
        //判断是否有sendmail表
        $row=mysql_query("show databases");
        $database=array();
        $finddatabase="sendmail";
        while ($result=mysql_fetch_array($row,MYSQL_ASSOC))
        {
            $database[]=$result['Database'];
        }
        unset($result,$row);
        
        if(!in_array($finddatabase,$database))
        {
            echo "没有表";    
            $ctableSql="Create TABLE sendmail (
                ID INT AUTO_INCREMENT PRIMARY KEY,
                tomail nvarchar(50),
                subject nvarchar(50),
                message text
            )";
            mysql_query($ctableSql,$con);
        }
        else
        {
            echo "有表";    
        }
        die();

?>


ページに「テーブルがありません」と表示されましたが、一度実行するとテーブルが作成されるはずです。ページを更新しても「テーブルがありません」と表示されます。何が問題なのかを教えてください。

-----解決策---------
試してください:
PHP コード
        //データを接続する
        $con=mysql_connect("localhost","root","welcome123") または die("データベースに接続できません".mysql_error());
        //my_project データベースが存在するかどうかを判断します
        $existDB=mysql_select_db("my_project",$con);
        //エコー "my_project データベースがありません";
        if(!$existDB)
        {
            //データベースを作成する
            $cdatabseSql="データベース my_project を作成";
            mysql_query($cdatabseSql,$con);
            mysql_select_db("my_project",$con); //データベースを選択します。
        }
        それ以外
        {
            echo "データベースがあります";
        }
        //sendmail テーブルが存在するかどうかを判断する
        $row=mysql_query("テーブルを表示");
        $database=array();
        $finddatabase="sendmail";
        while ($result=mysql_fetch_array($row,MYSQL_ASSOC))
        {
            $database[]=$result['Tables_in_test'];
        }
        unset($result,$row);
        
        if(!in_array($finddatabase,$database))
        {
            echo "テーブルがありません";
            $ctableSql="テーブルの作成 sendmail (
                ID INT AUTO_INCREMENT 主キー、
                tomail nvarchar(50)、
                サブジェクト nvarchar(50)、
                メッセージテキスト
            )";
            mysql_query($ctableSql,$con);
        }
        それ以外
        {
            echo "テーブルがあります";
        }
        死ぬ();
<br><font color="#e78608">------解決策------------------</font><br>おそらくこれを試してください。<br><br>
PHP コード

        if(!$existDB)
        {
            //データベースを作成する
            $cdatabseSql="データベース my_project を作成";
            mysql_query($cdatabseSql,$con);
        
            mysql_select_db("my_project",$con);//文を追加し、ライブラリを選択します
        }
…
…
        //sendmail テーブルが存在するかどうかを判断する

        $row = mysql_list_tables("my_project");

        $database=array();
        $finddatabase="sendmail";
        while ($result=mysql_fetch_array($row))
        {
            $database[]=$result[0];
        }
        unset($result,$row); <div class="clear"></div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。