入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

Mysql | php创建数据库和数据表的一个例子

创建时间:2017-12-29 投稿人: 浏览次数:286

搭建php环境,使用的是wampserver 3.1.1,选用apache 2.4.27和php 7.0.23和mysql5.7.19

下载链接:wampserver3.1.0_64.exe 密码:91kh

wampserver3.1.0_86 密码:yepu

安装好之后,默认C:wampwww路径是php的工作路径,在浏览器直接输入localhost,解析是该路径下的index.php文件。

如果想输入自定义的路径,比如,我在C:wampwww里面新建一个文件夹,名为:bendi.mila.net。我想在浏览器输入bendi.mila.net,浏览器就会解析我的C:wampwwwendi.mila.net路径下的index.php文件。

那么,还需要:

(1)C:wampinapacheapache2.4.27confextrahttpd-vhosts.conf文件里面添加:

<VirtualHost *:80>
  ServerName bendi.mila.net
  ServerAlias localhost
  DocumentRoot "${INSTALL_DIR}/www/bendi.mila.net"
  <Directory "${INSTALL_DIR}/www/bendi.mila.net">
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Require local
  </Directory>
</VirtualHost>

(2)C:WindowsSystem32driversetchosts文件里面添加:

127.0.0.1 bendi.mila.net

这样,在浏览器直接输入bendi.mila.net,就会显示bendi.mila.net里面的东西了。

下面,在bendi.mila.net里面新建一个index.php文件,实现添加数据库,添加数据表的功能:

<?php
$dbhost="localhost:3306"; //mysql服务器主机地址
$dbuser="root"; //mysql用户名
$dbpass="123456"; //mysql用户密码
$dbname="runoob"; //数据库名字

//用到的SQL语句
$sq0 = "create database if not exists ".$dbname.";";
$sql = "CREATE TABLE if not exists runoob_tbl( ".
        "runoob_id INT NOT NULL AUTO_INCREMENT, ".
        "runoob_title VARCHAR(100) NOT NULL, ".
        "runoob_author VARCHAR(40) NOT NULL, ".
        "submission_date DATE, ".
        "PRIMARY KEY ( runoob_id ))ENGINE=InnoDB DEFAULT CHARSET=utf8; ";
$sql_drop_db = "drop database ".$dbname;
$sql_drop_table = "drop table runoob_tbl;";
$sql_insert_value = "insert into runoob_tbl ".
					"(runoob_id,runoob_title,runoob_author,submission_date)".
					"values".
					"("1","学习php","xiaoxian","2018-01-02"),".
					"("2","学习java","xiaoxian","2018-01-02"),".
					"("3","学习python","xiaoxian","2018-01-02")";
$sql_select = "select * from runoob_tbl";

/**************************************************************************************/
//连接mysql
$conn=mysqli_connect($dbhost,$dbuser,$dbpass);
if(!$conn){
	die("连接失败:".mysqli_error($conn));
}
echo "连接成功<br />";

/**************************************************************************************/
//删除runoob数据库
$redropdb=mysqli_query($conn,$sql_drop_db);
if(!$redropdb)
	echo("删除runoob数据库失败: " . mysqli_error($conn)."<br />");
else
	echo "删除runoob数据库成功runoob数据库<br />";

/**************************************************************************************/
//创建runoob数据库		
//$recreatedb=mysql_create_db($dbname,$conn);//错误
//$recreatedb=mysql_query($sq0,$conn);//错误
$recreatedb=mysqli_query($conn,$sq0);
if(!$recreatedb)
	die("数据库创建失败: " . mysqli_error($conn));
else
	echo $dbname."数据库创建成功<br />";

/**************************************************************************************/
//选择runoob数据库
//参数一:规定要使用的mysql连接。
//参数二:规定要使用的默认数据库。
mysqli_select_db( $conn, "RUNOOB" );

/**************************************************************************************/
//删除runoob_tb1数据表
$retval = mysqli_query( $conn, $sql_drop_table );
if(! $retval )
    echo("删除runoob_tb1数据表失败: " . mysqli_error($conn)."<br />");
else
	echo "删除runoob_tb1数据表成功<br />";

/**************************************************************************************/
//创建runoob_tbl数据表
$retval = mysqli_query( $conn, $sql );
if(! $retval )
    echo("数据表创建失败: " . mysqli_error($conn)."<br />");
else
	echo "创建runoob_tbl数据表成功<br />";

/**************************************************************************************/
//插入数据
mysqli_query($conn,"set names utf8");//对于含有中文的数据输入,应该添加这一句。
$retval = mysqli_query( $conn, $sql_insert_value );
if(! $retval )
    echo("插入数据失败: " . mysqli_error($conn)."<br />");
else
	echo "插入数据成功<br />";

/**************************************************************************************/
//获得数据
$retval = mysqli_query($conn,$sql_select);
if(!$retval)
	echo("无法读取数据:".mysqli_error($conn));
echo "<h2>菜鸟教程 mysqli_fetch_array测试<h2>";
echo "<table border="1">";
echo "<tr><td>教程ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>";
//mysqli_fetch_array从结果集中取得一行作为关联数组,或数字数组,或二者兼有,返回根据从结果
//集取得的行生成的数组,如果没有更多行则返回false。
//也可以使用mysqli_fetch_assoc(),该函数从结果集中取得一行作为关联数组。返回根据从结果集取
//得的行生成的关联数组,如果没有更多行则返回false。
//所以,可以用mysqli_fetch_assoc($retval)代替mysqli_fetch_array($retval,MYSQLI_ASSOC)
while($row=mysqli_fetch_array($retval,MYSQLI_ASSOC)){
	echo "<tr><td>{$row["runoob_id"]}</td><td>{$row["runoob_title"]}</td><td>{$row["runoob_author"]}</td><td>{$row["submission_date"]}</td></tr>";
}
echo "</table>";
mysqli_free_result($retval);//释放内存
//也可以使用常量 MYSQLI_NUM 作为 PHP mysqli_fetch_array() 函数的第二个参数,返回数字数组。
$retval = mysqli_query($conn,$sql_select);
if(!$retval)
	echo("无法读取数据:".mysqli_error($conn));
echo "<h2>菜鸟教程 mysqli_fetch_array测试<h2>";
echo "<table border="1">";
echo "<tr><td>教程ID</td><td>标题</td><td>作者</td><td>提交日期</td></tr>";
while($row=mysqli_fetch_array($retval,MYSQLI_NUM)){
	echo "<tr><td>{$row[0]}</td><td>{$row[1]}</td><td>{$row[2]}</td><td>{$row[3]}</td></tr>";
}
echo "</table>";
mysqli_free_result($retval);//释放内存


//关闭数据库连接
mysqli_close($conn);
?>


浏览器输入:bendi.mila.net,获得该脚本的运行结果。

mysql_create_db()函数创建数据库出现错误:
猜想$conn是mysqli获取的,而不是mysql,网上查出mysql_create_db()已经弃用,最好用mysql_query()来提交一条create database dbname的语句来代替。后采用mysqli_query()函数才可行。




声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像