首頁 > 後端開發 > php教程 > php建表不成功,但也没有报错,求解解决办法

php建表不成功,但也没有报错,求解解决办法

WBOY
發布: 2016-06-13 13:36:13
原創
853 人瀏覽過

php建表不成功,但也没有报错,求解

PHP code
<!--

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 code
        //连接数据
        $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);
            mysql_select_db("my_project",$con);  //选择数据库
        }
        else
        {
            echo "有数据库";
        }
        //判断是否有sendmail表
        $row=mysql_query("show tables");
        $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="Create TABLE sendmail (
                ID INT AUTO_INCREMENT PRIMARY KEY,
                tomail nvarchar(50),
                subject nvarchar(50),
                message text
            )";
            mysql_query($ctableSql,$con);
        }
        else
        {
            echo "有表";    
        }
        die();
<br><font color="#e78608">------解决方案--------------------</font><br>大概这样试试,<br><br>
登入後複製
PHP code

        if(!$existDB)
        {
            //创建数据库
            $cdatabseSql="Create DATABASE 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>
登入後複製
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板