切换风格

Wizard Sky California Sunset glow Black Cloud Beige Dragon Lavender NewYear City Snow Flowers London
收藏本站XSS平台字符串转换jsfuck
2012-12-12(php操作数据库①)[复制链接]
发表于 2012-12-13 23:53:18 | 显示全部楼层 |!read_mode!
使用PHP对数据库进行操作
好吧,刚折腾完MySql数据库
接下来的课程就是讲php操作数据库了。
果然不能急哇。
  1. <?php

  2. $db_host=localhost;
  3. $db_user=root;
  4. $db_pass="anqn";
  5. //$link=mysql_connect($db_host,$db_user,$db_pass)or die("不能连接服务器".mysql_error());
  6. if($link=mysql_connect($db_host,$db_user,$db_pass))
  7. echo "成功连接服务器";
  8. else
  9. echo "连接失败";
  10.   


  11. ?>
复制代码

教程实例  有点小繁琐了、
php里面的例子就比较短小而精悍了。

为了看简洁而性感的代码  我就拿php手册代码丢出来看
  1. <?php
  2. $link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
  3. if (!$link) {
  4.     die('Could not connect: ' . mysql_error());
  5. }
  6. echo 'Connected successfully';
  7. mysql_close($link);
  8. ?>
复制代码
mysql_list_dbs --  列出 MySQL 服务器中所有的数据库
mysql_fetch_object -- 从结果集中取得一行作为对象

mysql_fetch_object 不明白它的解释。。
  1. <?php
  2. //连接mysql数据库  第一个参数是地址  第二个是用户名  第三个是密码
  3. $link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
  4. //定义一个db_list并获取link连接的所有数据库
  5. $db_list = mysql_list_dbs($link);
  6. //遍历数据库 并全部显示出来
  7. while ($row = mysql_fetch_object($db_list)) {
  8.     echo $row->Database . "\n";
  9. }
  10. ?>
复制代码



mysql_create_db
建立数据库   这一函数已经无情地被新版抛弃了。 如果在代码中使用此函数会提示没有定义。

教程中讲师到处找原因  看配置 看php.ini文件。。虽然问题不出在ini文件中 但这也是找错误的一种方法
我目前对ini无解哇。。。肿么办

既然
mysql_create_db不能用  那么就用另外一个函数代替它

mysql_query -- 发送一条 MySQL 查询
表示这一语句很强大
在后面操作 建立数据库  建立表单  删除表单 都是靠这一函数来执行的。
  1. <?php
  2. $link= mysql_connect("localhost","root","");
  3. if (!$link) {
  4.   die("数据库连接失败".mysql_error())
  5.         ;
  6. }
  7. else echo "数据库连接成功";
  8. echo "<BR>";
  9. $sql="CREATE DATABASE my_db";
  10. if (!mysql_query($sql,$link))
  11. {
  12.         echo "fail".mysql_error();
  13. }
  14. else
  15. {
  16. echo "数据库建立成功";
  17. }


  18. mysql_close($link);

  19. ?>
复制代码
以这个代码做例子   (好吧这段很烂的代码是我自己参照着写的  写的速度很慢 )
首先先连接到数据库
然后增加报错提示  不知道多写报错提示是不是好习惯哦
接着 自己定义一句建立数据库的语句 用

mysql_query去执行就好了
就是这么简单   
最后mysql_close -- 关闭 MySQL 连接

其他建立表单啊 删除表单啊什么的 都可以举一反三了  和前面MYSQL数据库操作是相同的。
所以其他操作不写太多了    我自己学着操作去了 。

最后帮我看一段无节操代码   不知道出了什么问题  我给你丢代码和图吧
  1. <?php
  2. $link= mysql_connect("localhost","root","");
  3. if (!$link) {
  4.   die("数据库连接失败".mysql_error())
  5.         ;
  6. }
  7. else echo "数据库连接成功";
  8. echo "<BR>";
  9. $sql="CREATE DATABASE my_db";
  10. if (!mysql_query($sql,$link))
  11. {
  12.         echo "fail".mysql_error();
  13. }
  14. else {
  15. echo "数据库建立成功";
  16. }
  17. $db_list = mysql_list_dbs($link);

  18. while ($row = mysql_fetch_object($db_list)) {
  19.     echo $row->Database . "\n";
  20. }
  21. mysql_close($link);


  22. ?>
复制代码



好吧就这样了
帖子有点长  您幸苦了
我自己也反思下   提问方式比较鲁莽 都乱七八糟写到里面了
  以后帖子我会注意   将问题都一一弄到最后
嘿嘿



附件: 你需要登录才可以下载或查看附件。没有帐号?加入Team
发表于 2012-12-14 01:40:15 | 显示全部楼层
  1. <?php
  2. $link= mysql_connect("localhost","root","");
  3. if (!$link) {
  4.   die("数据库连接失败".mysql_error());
  5. }
  6. else echo "数据库连接成功";
  7. echo "<BR>";
  8. $sql="CREATE DATABASE my_db";
  9. if (!mysql_query($sql,$link)){
  10.     echo "fail".mysql_error();
  11. }
  12. else {
  13.         echo "数据库建立成功";
  14. }
  15. $db_list = mysql_list_dbs($link);

  16. while ($row = mysql_fetch_object($db_list)) {
  17.     //echo $row->Database . "\n";
  18.         echo "<pre>";
  19.         print_r($row->Database);
  20.         echo "</pre>";
  21. }
  22. mysql_close($link);
  23. ?>
复制代码


关于你这段代码我本机测试没有任何的问题,
数据库连接成功
failCan't create database 'my_db'; database exists //第二次刷新可以给句汉字提示
information_schema
dvwa
dzdiy
dzx25
fanwei_tuan
ld
my_db
mysql
phpdisk
sgk
thinkphp
web_star
xdcms
xing


你修改下php.ini文件里面的error_reporting(php报错级别)的值
我的是 error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
具体设置项和意思参考http://blog.sina.com.cn/s/blog_a345735b0100zy53.html

关于php.ini这个文件,主要用到的就是上传文件大小限制,超时时间,php系统函数和功能组件的开启和关闭控制
现在下不用看这个文件,了解下就行(有中文版http://www.21andy.com/blog/20090718/1344.html

mysql_fetch_object的意思是从结果集($result = mysql_query("select * from mytable");中$result的数据类型是结果集
自己print_r一下就知道了)中取得一行作为输出对象或赋值给新的变量

多写报错提示是好习惯,特别是在大项目里面排错的时候很容易,但是也别太详细了要不代码太重影响效率



操千曲而后晓声,观千剑而后识器。

代码区

GMT+8, 2020-9-20 12:04

Powered by Discuz! X2

© 2001-2018 Comsenz Inc.

回顶部