您的位置:首页 > 编程语言 > PHP开发

(1)PHP与mysql的数据交互

2016-09-20 17:36 337 查看
这里首先将我做这个简单的例子遇到过的问题列出来:

html部分中的table要居中显示,在网上查了一下发现说用align=center和margin=0 center;的。结果发现自己的代码根本没反应。最后发现,要想排版做好,就必须要将标签的width确定下来才行
连接数据库不管怎样按照网上的代码写都是报出数据添加失败的提示,最后发现不知道是我所用的版本低还是什么其它原因。最后发现在添加sql语句的时候必须将数据库的表名用数字键盘1的左边那一个符号括起来才显示成功(``);
我是使用phpStudy这个软件,可以在网上下载,这个软件用起来挺方便的,就是要根据电脑系统的版本来选择phpStudy的版本有点麻烦(毕竟是菜鸟)。安装完软件后,打开phpStudy看到软件两个灯都是绿色就代表环境安装好了,接着在浏览器打开http://localhost:8080/phpMyAdmin(我的端口在安装的时候修改为8080了),之后就出现了数据库的操作页面,之后就自己新建一个表就可以了。(默认账号和密码为root,root)。

最终效果:



这里我们采取HTML与PHP混编的形式来写,文件的后缀为PHP(因为PHP可以解析HTML嘛,反过来就不能了)。

首先贴出HTML的代码:

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="main.css">
</head>
<body>
<div>
<form method="post" action="">
<p>添加数据到数据库</p>
书名:<input type="text" name="book_Name" /><br/>
价格:<input type="text" name="book_Money" /><br/>
日期:<input type="text" name="book_Date" /><br/>
作者:<input type="text" name="book_Author" /><br/>
<input type="submit" name="Submit"/>
<p><?php echo $help; ?></p>
</form>
<table>
<tr>
<th>编号</th><th>书名</th><th>价格</th><th>日期</th><th>作者</th>
</tr>
<?php
$db = mysql_query("select * from `table`");
$info = mysql_fetch_array($db);
if($info==false){          //如果检索的信息不存在,则输出相应的提示信息
echo "<div align='center' style='color:#FF0000; font-size:12px'>对不起,您检索的图书信息不存在!</div>";
}
do{
?>
<tr>
<td><?php echo $info[num]; ?></td>
<td><?php echo $info[book_name]; ?></td>
<td><?php echo $info[book_money]; ?></td>
<td><?php echo $info[book_date]; ?></td>
<td><?php echo $info[book_author]; ?></td>
</tr>
<?php
}while($info=mysql_fetch_array($db));
mysql_close($link);
?>
</table>
</div>
</body>
</html>
上面的代码重点在php部分,这里就忽略html代码的讲解了不懂的话可以看看w3c网站的教程。

<?php
$db = mysql_query("select * from `table`");
$info = mysql_fetch_array($db);
if($info==false){          //如果检索的信息不存在,则输出相应的提示信息
echo "<div align='center' style='color:#FF0000; font-size:12px'>对不起,您检索的图书信息不存在!</div>";
}
do{
?>
<tr>
<td><?php echo $info[num]; ?></td>
<td><?php echo $info[book_name]; ?></td>
<td><?php echo $info[book_money]; ?></td>
<td><?php echo $info[book_date]; ?></td>
<td><?php echo $info[book_author]; ?></td>
</tr>
<?php
}while($info=mysql_fetch_array($db));
mysql_close($link);
?>


$db = mysql_query("select * from `table`");


这句的作用是查找数据库的table的表里面的所有元素的数据,将这些数据放在$db这个变量之内。

$info = mysql_fetch_array($db);


这句话的作用是在$db内取出第一个元素,然后赋值给$info.之后就可以通过$info[表单内定义的变量]来获取当前这行元素的数据了。

<?php
error_reporting(E_ALL^E_NOTICE^E_WARNING);
$link=mysql_connect("localhost","root","root");
if(!$link){
die("数据库连接失败".mysql_error());
}
mysql_select_db("myphp",$link);
mysql_query("set names utf8");
if($_POST[Submit]){
$sql="insert into `table`(book_name,book_money,book_date,book_author)
values('{$_POST[book_Name]}','{$_POST[book_Money]}','{$_POST[book_Date]}','{$_POST[book_Author]}')";
if(!mysql_query($sql)){
$help =('添加数据失败:'.mysql_error());
} else {
$help = "添加数据成功!";
}
}
//mysql_close($link);
?>

error_reporting(E_ALL^E_NOTICE^E_WARNING);
这句话的作用是将一些警告等等的东西去掉不要显示出来,因为php用来提取数据的元素如$_POST[Submit]中的Submit是在html内定义的,所以php就会警告这个变量为定义,之后不用说椰子岛是影响页面的美观的。

$link=mysql_connect("localhost","root","root");


这句话的作用是连接数据库,第一个变量是所选的服务器,第二个是用户名,第三个是密码。

mysql_select_db("myphp",$link);


这句话的作用是选择名为myphp的数据库。

mysql_query("set names utf8");


规定所使用的字体。

if($_POST[Submit])

这个的作用是获取html中name=“Submit”的按钮的值,如果按下了按钮,那么就是true,否则就是false。所以可以用来控制是否进行数据的插入。

$db = mysql_query("select * from `table` order by book_money desc");

将下面的代码的$db换为上面的语句就可以按降序排列了。

完整代码:

index.php:

<?php
error_reporting(E_ALL^E_NOTICE^E_WARNING);
$link=mysql_connect("localhost","root","root");
if(!$link){
die("数据库连接失败".mysql_error());
}
mysql_select_db("myphp",$link);
mysql_query("set names utf8");
if($_POST[Submit]){
$sql="insert into `table`(book_name,book_money,book_date,book_author)
values('{$_POST[book_Name]}','{$_POST[book_Money]}','{$_POST[book_Date]}','{$_POST[book_Author]}')";
if(!mysql_query($sql)){
$help =('添加数据失败:'.mysql_error());
} else {
$help = "添加数据成功!";
}
}
//mysql_close($link);
?>
<!DOCTYPE html> <html> <head> <link rel="stylesheet" type="text/css" href="main.css"> </head> <body> <div> <form method="post" action=""> <p>添加数据到数据库</p> 书名:<input type="text" name="book_Name" /><br/> 价格:<input type="text" name="book_Money" /><br/> 日期:<input type="text" name="book_Date" /><br/> 作者:<input type="text" name="book_Author" /><br/> <input type="submit" name="Submit"/> <p><?php echo $help; ?></p> </form> <table> <tr> <th>编号</th><th>书名</th><th>价格</th><th>日期</th><th>作者</th> </tr> <?php $db = mysql_query("select * from `table`"); $info = mysql_fetch_array($db); if($info==false){ //如果检索的信息不存在,则输出相应的提示信息 echo "<div align='center' style='color:#FF0000; font-size:12px'>对不起,您检索的图书信息不存在!</div>"; } do{ ?> <tr> <td><?php echo $info[num]; ?></td> <td><?php echo $info[book_name]; ?></td> <td><?php echo $info[book_money]; ?></td> <td><?php echo $info[book_date]; ?></td> <td><?php echo $info[book_author]; ?></td> </tr> <?php }while($info=mysql_fetch_array($db)); mysql_close($link); ?> </table> </div> </body> </html>


main.css:

div{
width:80%;
height:100%;
margin:0 auto;
}

form{
width:80%;
margin:0 auto;
text-align:center;
border:1px solid black;
}

table{
width:80%;
margin:0 auto;
text-align:center;
border:1px solid black;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php mysql 数据库 sql