PHP基本连接数据库

时间:2023-03-08 17:57:12

最简单的代码

connect.php

  1. <?php
  2. $host="localhost";
  3. $db_user="root";
  4. $db_pass="";
  5. $db_name="demo";
  6. $timezone="Asia/Shanghai";
  7. $link=mysql_connect($host,$db_user,$db_pass);
  8. mysql_select_db($db_name,$link);
  9. mysql_query("SET names UTF8");
  10. header("Content-Type: text/html; charset=utf-8");
  11. ?>

search.php

  1. <?php
  2. include_once("connect.php");
  3. $q = strtolower($_GET["term"]);
  4. $query=mysql_query("select * from test where title like '$q%' limit 0,10");
  5. while ($row=mysql_fetch_array($query)) {
  6. $result[] = array(
  7. 'id' => $row['id'],
  8. 'label' => $row['title']
  9. );
  10. }
  11. echo json_encode($result);
  12. ?>

sql

  1. CREATE TABLE `art` (
  2. `id` int(11) NOT NULL auto_increment,
  3. `title` varchar(100) NOT NULL,
  4. PRIMARY KEY  (`id`)
  5. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=15 ;
  6. INSERT INTO `art` (`id`, `title`) VALUES
  7. (1, 'jstest1'),
  8. (2, 'jstest2'),
  9. (3, 'jstest3'),
  10. (4, 'jstest4'),
  11. (5, 'jstest5'),
  12. (6, 'jstest6');

分开写的连接数据库

common.ini

  1. <?php
  2. //非法调用判断
  3. if(!defined('Inc_Tag')){
  4. exit("非法调用");
  5. }
  6. //硬路径转换
  7. define('ROOT_PATH', substr(dirname(__FILE__), 0,-8));
  8. //版本判断
  9. if (PHP_VERSION<4.0){
  10. exit("版本太低");
  11. }
  12. require ROOT_PATH.'\includes\global.func.php';
  13. require ROOT_PATH.'\includes\mysql.func.php';
  14. define('start_time', _runtime());
  15. //数据库连接
  16. define('DB_HOST','Localhost');
  17. define('DB_NAME','test');
  18. define('DB_USER','root');
  19. define('DB_PASSWORD','123456');
  20. //初始化数据库
  21. _connect();   //连接MYSQL数据库
  22. _select_db();   //选择指定的数据库
  23. _set_names();   //设置字符集
  24. ?>

mysql.php

  1. <?php
  2. //防止恶意调用
  3. if(!defined('Inc_Tag')){
  4. exit();
  5. }
  6. /**
  7. _connect()数据库连接函数
  8. */
  9. function _connect() {
  10. //global表示全局变量的意思,意思是此变量在函数外部也可使用
  11. global $_conn;
  12. if(!$conn=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD)){
  13. exit("数据库连接失败".mysql_error());
  14. }
  15. }
  16. /**
  17. *
  18. * _select_db()选择数据库
  19. */
  20. function _select_db(){
  21. if(!mysql_select_db(DB_NAME)){
  22. exit("ERROR".mysql_error());
  23. }
  24. }
  25. /**
  26. *
  27. * _set_names()设置字符集
  28. */
  29. function _set_names(){
  30. if(!mysql_query('SET NAMES UTF8')){
  31. exit('ERROR'.mysql_error());
  32. }
  33. }
  34. /**
  35. *
  36. * _query()查询语句
  37. * @param unknown_type $sql
  38. */
  39. function _query($_sql){
  40. if (!$_result=mysql_query($_sql)){
  41. exit('SQL FAILED'.mysql_error());
  42. }
  43. return $_result;
  44. }
  45. /**
  46. *
  47. * Enter description here ...
  48. * @param unknown_type $_sql
  49. */
  50. function _fetch_array($_sql){
  51. return mysql_fetch_array(_query($_sql),MYSQL_ASSOC);
  52. }
  53. /**
  54. *
  55. * fetch_array_list($_result)在结果中读取关联数组
  56. * @param unknown_type $_result
  57. */
  58. function _fetch_array_list($_result){
  59. return mysql_fetch_array($_result,MYSQL_ASSOC);
  60. }
  61. /**
  62. *
  63. * Enter description here ...
  64. * @param unknown_type $_sql
  65. * @param unknown_type $_info
  66. */
  67. function _is_repeat($_sql,$_info){
  68. if(_fetch_array($_sql)){
  69. _alert_back($_info);
  70. }
  71. }
  72. /**
  73. *
  74. * Enter description here ...
  75. */
  76. function _affected_rows() {
  77. return mysql_affected_rows();
  78. }
  79. /**
  80. *
  81. * _close关闭数据库连接
  82. */
  83. function _close(){
  84. if (!mysql_close()){
  85. exit("关闭异常".mysql_error());
  86. }
  87. }
  88. ?>

global.fun

  1. <?php
  2. function _runtime(){
  3. $_mtime=explode(' ', microtime());
  4. $_temp_time=$_mtime[1]+$_mtime[0];
  5. return $_temp_time;
  6. }
  7. /**
  8. *
  9. * _alert_back()对话框弹出函数,然后返回一步
  10. * @param  $msg //弹出对话框消息
  11. * @return void
  12. */
  13. function _alert_back($msg){
  14. echo "<script type='text/javascript'>alert('".$msg."');history.back();</script>";
  15. exit();
  16. }
  17. /**
  18. *
  19. * _alert_close()弹出消息,关闭
  20. * @param unknown_type $msg
  21. */
  22. function _alert_close($msg){
  23. echo "<script type='text/javascript'>alert('".$msg."');window.close();</script>";
  24. exit();
  25. }
  26. function _get_xml($_xml_file){
  27. if (file_exists($_xml_file)){
  28. $_xml=file_get_contents($_xml_file);
  29. preg_match_all('/<vip>(.*)<\/vip>/s',$_xml,$_dom);
  30. echo $_dom[1];
  31. foreach ($_dom[1] as $_value) {
  32. preg_match_all('/<id>(.*)<\/id>/s',$_value,$_id);
  33. print_r($_id);
  34. preg_match_all('/<username>(.*)<\/username>/s',$_value,$_username);
  35. preg_match_all( '/<sex>(.*)<\/sex>/s', $_value, $_sex);
  36. preg_match_all( '/<face>(.*)<\/face>/s', $_value, $_face);
  37. preg_match_all( '/<email>(.*)<\/email>/s', $_value, $_email);
  38. preg_match_all( '/<url>(.*)<\/url>/s', $_value, $_url);
  39. $_html['id'] = $_id[1][0];
  40. $_html['username'] = $_username[1][0];
  41. $_html['sex'] = $_sex[1][0];
  42. $_html['face'] = $_face[1][0];
  43. $_html['email'] = $_email[1][0];
  44. $_html['url'] = $_url[1][0];
  45. }
  46. } else {
  47. echo '文件不存在';
  48. }
  49. return $_html;
  50. }
  51. /**
  52. *
  53. * Enter description here ...
  54. * @param unknown_type $_xmlfile
  55. * @param unknown_type $_clean
  56. */
  57. function _set_xml($_xmlfile,$_clean) {
  58. $_fp = @fopen('new.xml','w');
  59. if (!$_fp) {
  60. exit('系统错误,文件不存在!');
  61. }
  62. flock($_fp,LOCK_EX);
  63. $_string = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n";
  64. fwrite($_fp,$_string,strlen($_string));
  65. $_string = "<vip>\r\n";
  66. fwrite($_fp,$_string,strlen($_string));
  67. $_string = "\t<id>{$_clean['id']}</id>\r\n";
  68. fwrite($_fp,$_string,strlen($_string));
  69. $_string = "\t<username>{$_clean['username']}</username>\r\n";
  70. fwrite($_fp,$_string,strlen($_string));
  71. $_string = "\t<sex>{$_clean['sex']}</sex>\r\n";
  72. fwrite($_fp,$_string,strlen($_string));
  73. $_string = "\t<face>{$_clean['face']}</face>\r\n";
  74. fwrite($_fp,$_string,strlen($_string));
  75. $_string = "\t<email>{$_clean['email']}</email>\r\n";
  76. fwrite($_fp,$_string,strlen($_string));
  77. $_string = "\t<url>{$_clean['url']}</url>\r\n";
  78. fwrite($_fp,$_string,strlen($_string));
  79. $_string = "</vip>";
  80. fwrite($_fp,$_string,strlen($_string));
  81. flock($_fp,LOCK_UN);
  82. fclose($_fp);
  83. }
  84. /**
  85. *
  86. * _location()跳转函数
  87. * @param unknown_type $_msg
  88. * @param unknown_type $_url
  89. */
  90. function _location($_msg,$_url){
  91. if (!empty($_msg)){
  92. echo "<script type='text/javascript'>alert('$_msg');location.href='$_url';</script>";
  93. exit();
  94. }else {
  95. header('location:'.$_url);
  96. }
  97. }
  98. function _title($_string){
  99. if(mb_strlen($_string,'utf-8')>14){
  100. return mb_substr($_string, 1,6,'utf-8').'...';
  101. }
  102. return $_string;
  103. }
  104. /**
  105. *
  106. * _html()对数组或者字符串进行html过滤
  107. * @param array or string $_string
  108. * @return string or array
  109. */
  110. function _html($_string){
  111. if (is_array($_string)){
  112. foreach ($_string as $_key=>$_value){
  113. $_string[$_key]=_html($_value);//采用递归对其进行html过滤
  114. }
  115. }else {
  116. $_string=htmlspecialchars($_string);
  117. }
  118. return $_string;
  119. }
  120. /**
  121. *
  122. * _page()对查询的进行分页处理,
  123. * @param unknown_type $_sql
  124. * @param unknown_type $_size
  125. */
  126. function _page($_sql,$_size) {
  127. //将里面的所有变量取出来,外部可以访问
  128. global $_page,$_pagesize,$_pagenum,$_pageabsolute,$_num;
  129. if (isset($_GET['page'])) {
  130. $_page=$_GET['page'];
  131. if (empty($_page) || $_page < 0 || !is_numeric($_page)) {
  132. $_page=1;
  133. } else {
  134. $_page=intval($_page);
  135. }
  136. } else {
  137. $_page=1;
  138. }
  139. $_pagesize=$_size;
  140. $_num=mysql_num_rows(_query($_sql));
  141. if ($_num==0) {
  142. $_pageabsolute=1;
  143. } else {
  144. $_pageabsolute=ceil($_num/$_pagesize);
  145. }
  146. if ($_page>$_pageabsolute) {
  147. $_page=$_pageabsolute;
  148. }
  149. $_pagenum=($_page - 1) * $_pagesize;
  150. }
  151. /**
  152. *
  153. */
  154. function _paging($_type) {
  155. global $_page,$_pageabsolute,$_num;
  156. if ($_type==1) {
  157. echo '<div id="page_num">';
  158. echo '<ul>';
  159. for ($i=0;$i<$_pageabsolute;$i++) {
  160. if ($_page==($i+1)) {
  161. echo '<li><a href="'.Script.'.php?page='.($i+1).'" class="selected">'.($i+1).'</a></li>';
  162. } else {
  163. echo '<li><a href="'.Script.'.php?page='.($i+1).'">'.($i+1).'</a></li>';
  164. }
  165. }
  166. echo '</ul>';
  167. echo '</div>';
  168. } elseif ($_type==2) {
  169. echo '<div id="page_text">';
  170. echo '<ul>';
  171. echo '<li>'.$_page.'/'.$_pageabsolute.'页 | </li>';
  172. echo '<li>共有<strong>'.$_num.'</strong>个会员 | </li>';
  173. if ($_page==1) {
  174. echo '<li>首页 | </li>';
  175. echo '<li>上一页 | </li>';
  176. } else {
  177. echo '<li><a href="'.SCRIPT.'.php">首页</a> | </li>';
  178. echo '<li><a href="'.SCRIPT.'.php?page='.($_page-1).'">上一页</a> | </li>';
  179. }
  180. if ($_page==$_pageabsolute) {
  181. echo '<li>下一页 | </li>';
  182. echo '<li>尾页</li>';
  183. } else {
  184. echo '<li><a href="'.SCRIPT.'.php?page='.($_page+1).'">下一页</a> | </li>';
  185. echo '<li><a href="'.SCRIPT.'.php?page='.$_pageabsolute.'">尾页</a></li>';
  186. }
  187. echo '</ul>';
  188. echo '</div>';
  189. }
  190. }
  191. function _unsetcookies(){
  192. setcookie('username','',time()-1);
  193. setcookie('uniqid','',time()-1);
  194. session_destroy();
  195. _location(null,'index.php');
  196. }
  197. /**
  198. * _code() 注册码函数
  199. * @access public
  200. * @param $_width 验证码图片宽
  201. * @param $_height 验证码图片高
  202. * @param $_rnd_code 验证码位数
  203. * @param $_flag 是否显示黑色边框
  204. * @return void 返回一验证码图片
  205. */
  206. function _code($_width=75,$_height=25,$_rnd_code=4,$flag=FALSE){
  207. //创建随机码
  208. for ($i=0;$i<$_rnd_code;$i++) {
  209. $_nmsg .= dechex(mt_rand(0,15));
  210. }
  211. //保存在session
  212. $_SESSION['code'] = $_nmsg;
  213. //创建一张图像
  214. $_img = imagecreatetruecolor($_width,$_height);
  215. //白色
  216. $_white = imagecolorallocate($_img,255,255,255);
  217. //填充
  218. imagefill($_img,0,0,$_white);
  219. $_flag = false;
  220. if ($_flag) {
  221. //黑色,边框
  222. $_black = imagecolorallocate($_img,0,0,0);
  223. imagerectangle($_img,0,0,$_width-1,$_height-1,$_black);
  224. }
  225. //随即画出6个线条
  226. for ($i=0;$i<6;$i++) {
  227. $_rnd_color = imagecolorallocate($_img,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
  228. imageline($_img,mt_rand(0,$_width),mt_rand(0,$_height),mt_rand(0,$_width),mt_rand(0,$_height),$_rnd_color);
  229. }
  230. //随即雪花
  231. for ($i=0;$i<100;$i++) {
  232. $_rnd_color = imagecolorallocate($_img,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
  233. imagestring($_img,1,mt_rand(1,$_width),mt_rand(1,$_height),'*',$_rnd_color);
  234. }
  235. //输出验证码
  236. for ($i=0;$i<strlen($_SESSION['code']);$i++) {
  237. $_rnd_color = imagecolorallocate($_img,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200));
  238. imagestring($_img,5,$i*$_width/$_rnd_code+mt_rand(1,10),mt_rand(1,$_height/2),$_SESSION['code'][$i],$_rnd_color);
  239. }
  240. //输出图像
  241. header('Content-Type: image/png');
  242. imagepng($_img);
  243. //销毁
  244. imagedestroy($_img);
  245. }
  246. function _sha1_uniqid(){
  247. return sha1(uniqid(rand(),TRUE));
  248. }
  249. ?>

查询

    1. <?php
    2. /**
    3. * TestGuest Version1.0
    4. * ================================================
    5. * Copy 2010-2012 yc60
    6. * Web: http://www.yc60.com
    7. * ================================================
    8. * Author: Lee
    9. * Date:2011-9-7
    10. */
    11. error_reporting(E_ALL^E_NOTICE);
    12. //定义常量,授权includes的包含文件
    13. define('Inc_Tag', TRUE);
    14. //定义常量,包含CSS文件
    15. define('Script', 'blog');
    16. //包含公共文件
    17. require dirname(__FILE__).'/includes/common.inc.php';
    18. ?>
    19. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    20. <html xmlns="http://www.w3.org/1999/xhtml">
    21. <head>
    22. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    23. <title>hello gull记事本-博友界面</title>
    24. <?php
    25. //包含CSS文件
    26. require ROOT_PATH.'includes/title.inc.php';
    27. ?>
    28. </head>
    29. <body>
    30. <?php
    31. //包含头文件
    32. require ROOT_PATH.'includes/header.inc.php';
    33. //分页模块
    34. global $_pagesize,$_pagenum;
    35. _page("SELECT dg_id FROM tg_user",10);   //第一个参数获取总条数,第二个参数,指定每页多少条
    36. //读取数据库信息
    37. $_result=_query("SELECT t_username,t_sex,t_face FROM tg_user ORDER BY t_reg_time DESC limit $_pagenum,$_pagesize");
    38. ?>
    39. <div id="blog">
    40. <div>
    41. <h2>博友信息</h2>
    42. <?php while (!!$rows=_fetch_array_list($_result)){?>
    43. <dl>
    44. <dd class="user"><?php echo $rows['t_username']?>(<?php echo $rows['t_sex']?>)</dd>
    45. <dt><img src="<?php echo $rows['t_face']?>" /></dt>
    46. <dd class="message">发消息</dd>
    47. <dd class="friend">加为好友</dd>
    48. <dd class="guest">写留言</dd>
    49. <dd class="flower">给他送花</dd>
    50. </dl>
    51. <?php }?>
    52. <?php
    53. _paging(1);
    54. ?>
    55. </div>
    56. <?php
    57. //包含尾部文件
    58. require ROOT_PATH.'includes/footer.inc.php';
    59. ?>
    60. </body>
    61. </html>