切换风格

Wizard Sky California Sunset glow Black Cloud Beige Dragon Lavender NewYear City Snow Flowers London
收藏本站XSS平台字符串转换jsfuck
2012-12-12(php操作数据库②)[复制链接]
发表于 2012-12-15 00:22:45 | 显示全部楼层 |!read_mode!
好吧
第十九课  我果然猜到会继续用sql语句配合mysql_query函数来进行对数据库的一系列操作
那么正好我自己写代码来练习一下那些语句吧
折腾了半天 把那错误弄掉
只是把WAMP 版本升级
php.ini改掉这个
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
代码要具体实现功能
建立一个数据库
删除一个数据库
建立一个表
插入内容
修改表单里内容
删除表单内容


对数据库操作大概就基本这些吧   如有不足,望赐教。
mysql_select_db -- 选择 MySQL 数据库
在mysql控制台命令下同样道理  要使用use  才能对此数据库进行操作
代码写的比较杂乱
都是一段代码一段代码写的 也是一段一段测试的 觉得没有什么连贯性
那个建立表单的语句  后面那些数据类型的限制条件  如果不写的话 会有什么后果不?
$sql2="CREATE TABLE TEST(ID int(10) NOT NULL auto_increment,
namevarchar(15) NOT NULL,
QQ   int(15),
adress  varchar(30),
PRIMARY KEY  (`id`)
)";
原以为上面那段代码要加各种标点符号呢、、、  尼玛在php代码下不用加
又折腾了半个 小时哇  我真是个猪。。

搞到这没搞完  被最后面那段代码 弄头晕了    太困了
还有
修改表单里内容
删除表单内容
代码没写完
睡觉去了。。。。。。。
  1. <?php
  2. $link=mysql_connect('localhost', 'root', '');
  3. if (!$link)
  4. {
  5. echo "Fail".mysql_error();

  6. }
  7. else echo "successfully";//好吧,我装B提示用英文了
  8. echo "<br>";
  9. echo "当前数据库有";
  10. echo "<P>";
  11. $db_list=mysql_list_dbs($link);
  12. while ($row = mysql_fetch_object($db_list)) {
  13.         echo "<pre>";
  14.         print_r($row->Database);
  15.         echo "</pre>";//好吧  ,我承认这是盗用
  16. }
  17. $sql1="CREATE DATABASE KE";
  18. $result=mysql_query($sql1,$link);
  19. if (!$result) {
  20. echo "Error creating database: " . mysql_error();
  21. }
  22. //function CREATE()
  23. // {
  24. // $result=mysql_query($sql1,$link);
  25. //        if (!$result) {
  26.         //echo "Error creating database: " . mysql_error();
  27.    
  28.         //}
  29. //}
  30. //CREATE();    开始我是想用funcotion来实现建立数据库功能的  没想到装B失败  求指教
  31. echo "当前数据库有";
  32. $db_list=mysql_list_dbs($link);

  33. while ($row = mysql_fetch_object($db_list)) {
  34.         echo "<pre>";
  35.         print_r($row->Database);
  36.         echo "</pre>";//
  37. }
  38. //上面数据库建立成功  现在开始建立表单
  39. mysql_select_db("ke",$link);
  40. //下面那些我都是参照着输入的    int  varchar 是设置长度与类型 对吧?
  41. //友情提示 下面格式要正确、并且不支持中文   记住哟。 我就因为搞了个中文 折腾了半天
  42. $sql2="CREATE TABLE TEST(ID int(10) NOT NULL auto_increment,
  43. name varchar(15) NOT NULL,
  44. QQ  int(15),
  45. adress  text,
  46. PRIMARY KEY  (`id`)
  47. )";
  48. echo "当前表单有";
  49. echo "<br>";
  50. $like=mysql_query($sql2,$link);
  51. if (!like)
  52. {
  53.         echo "表单建立失败".mysql_error();
  54. }
  55. else
  56. {
  57. $result1 = mysql_query("SHOW TABLES");
  58. while($row = mysql_fetch_array($result1))
  59. {
  60. echo $row[0]."";
  61. }
  62. }
  63. mysql_select_db("ke",$link);
  64. echo "<br>";
  65. //上面测试成功了 接下来在字段内插入内容 INSERT INTO
  66. //$sql3="INSERT INTO TEST(id,name,QQ,adress)VALUES('1','HELEN','','宇宙级黑客')";
  67. //在这我就不知道用sql配合mysql_query 插入。、。求赐教方法  教程中用的是IF
  68. //那个宇宙级黑客、、 在php下显示乱码了  不知道怎么解决
  69. mysql_query("INSERT INTO TEST(id,name,QQ,adress)VALUES('1','HELEN','305536777','宇宙级黑客')");
  70. $sql4="SELECT * FROM `test` WHERE 1";
  71. $result2=mysql_query($sq4);
  72. mysql_select_db("ke",$link);
  73.   echo "当前表中的记录为: ";
  74.   echo "<br>";
  75.   while($row=mysql_fetch_array($result2))
  76.   {
  77.           echo $row[ID].",";
  78.           echo $row[name].",";
  79.           echo $row[QQ].",";
  80.        echo $row[adress].",";
  81.           echo "<p>";//这一段是抄的。
  82.   }

  83. ?>
复制代码



发表于 2012-12-15 13:14:14 | 显示全部楼层
嗯  不错

CREATE()是内置方法,不能再自定义同名的方法,会报错的


中文乱码是因为你没设置字段的字符集类型,这里建议使用Navicat for MySQL这个软件操作mysql简单直观;比如你看创建后的adress字段的字符集


这是不对的,中国人能看懂的字符编码只有 gbk和utf8,而gbk的需要设置如下


同样 name字段或其他varchar数据类型的字段都需要设置字符集当你有可能录入中文的时候
再重新插入看显示效果


程序 我给你改了,如下
  1. <?php

  2. $link=mysql_connect('localhost', 'root', '');
  3. if (!$link) {
  4.         echo "Fail".mysql_error();
  5. }else{
  6.         echo "successfully";
  7. }
  8. mysql_query("SET NAMES gb2312");//设置查询语句字符集
  9. $sql1="CREATE DATABASE KE";
  10. $result=mysql_query($sql1,$link);
  11. if (!$result) {
  12.         echo "Error creating database: " . mysql_error();
  13. }
  14. //上面数据库建立成功  现在开始建立表单
  15. mysql_select_db("ke",$link);
  16. //int  varchar 是设置长度与类型 CHARSET=gb2312是设置字符集
  17. //其实php执行sql语句你可以在Navicat for MySQL软件中创建好再导出为语句这样速度快不容易出错:)
  18. $sql2="
  19. CREATE TABLE `test` (
  20.   `ID` int(10) NOT NULL AUTO_INCREMENT,
  21.   `name` varchar(15) CHARACTER SET gb2312 NOT NULL,
  22.   `QQ` int(15) DEFAULT NULL,
  23.   `adress` text CHARACTER SET gb2312,
  24.   PRIMARY KEY (`ID`)
  25. ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=gb2312;
  26. ";
  27. echo "当前库中有表";
  28. echo "<br>";
  29. $like=mysql_query($sql2,$link);
  30. if (!like){
  31.     echo "表单建立失败".mysql_error();
  32. }else{
  33.         $result1 = mysql_query("SHOW TABLES");
  34.         while($row = mysql_fetch_array($result1)){
  35.                 echo $row[0]."";
  36.         }
  37. }
  38. mysql_select_db("ke",$link);
  39. echo "<br>";
  40. //前面把sql查询、表中的字段都设置了字符集,所以就不会乱码了
  41. mysql_query("INSERT INTO TEST(id,name,QQ,adress)VALUES('1','HELEN','305536777','宇宙级黑客')");
  42. $sql4="SELECT * FROM `test` WHERE id !='' ";
  43. $result2=mysql_query($sql4);
  44.   echo "当前表中的记录为: ";
  45.   echo "<br>";
  46.   while($row=mysql_fetch_array($result2))
  47.   {
  48.           echo $row[ID].",";
  49.           echo $row[name].",";
  50.           echo $row[QQ].",";
  51.           echo $row[adress].",";
  52.           echo "<p>";//这一段是抄的。
  53.   }

  54. ?>
复制代码
仔细 比对下和你的程序中每一处的不同

附件: 你需要登录才可以下载或查看附件。没有帐号?加入Team
操千曲而后晓声,观千剑而后识器。
发表于 2012-12-15 18:55:11 | 显示全部楼层
个人比较喜欢  使用  mysqli

代码区

GMT+8, 2020-12-6 09:54

Powered by Discuz! X2

© 2001-2018 Comsenz Inc.

回顶部