通过PHP连接MYSQL数据库、创建数据库、创建表

 更新时间:2016年11月25日 16:40  点击:1422

通过PHP连接MYSQL数据库


$conn = mysql_connect("localhost","root","password") or die("无法连接数据库");
mysql_select_db("table" ,$conn) or die ("找不到数据源");


-----------------------------------------------------------------------
通过PHP创建MYSQL数据库

$conn = mysql_connect("localhost","root","password") or die("无法连接数据库");
mysql_create_db("webjx") or die("无法创建数据库");
$sqlstr = "create database other_webjx";
mysql_query($sqlstr) or die("无法创建,一般请检查权限什么的");

----------------------------------------------------------------------------
创建mysql的表

$conn = mysql_connect("localhost","root","password") or die("无法连接数据库");
mysql_select_db("webjx",$conn) or die("无法连接数据库webjx");
$sql = "create table webjx_table(
ids integer not null auto_increment ,
primary key(ids)
)";
$mysql_query($sql) or die(mysql_error());

以下是在Linux下通过Apache PHP对Mysql数据库的备份的文件代码:

文件一、Listtable.php (文件列出数据库中的所有表格,供选择备份)

<html>
<head>
<title>
使用XML备份Mysql数据库</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#FFFFFF" text="#000000">
请选择要备份的表格:
<?
$con=mysql_connect('localhost','root','xswlily');
$lists=mysql_list_tables("embed",$con);
//数据库连接代码
$i=0;
while($i<mysql_num_rows($lists)){
$tb_name=mysql_tablename($lists,$i);
echo "<a href=backup.php?table=".$tb_name.">".$tb_name."</a>
";
//列出所有的表格
$i ;}

?>
</body>
</html>


文件二、Backup.php

<?if ($table=="") header("Location:listtable.php");?><html>
<head>
<title>
使用XML备份Mysql数据库</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<?
$con=mysql_connect('localhost','root','xswlily');
$query="select * from $table ";
//数据库查询
$result=mysql_db_query("embed",$query,$con);
$filestr="<"."?xml version="1.0" encoding="GB2312"?".">";
$filestr.="<".$table."s>";
while ($row=mysql_fetch_array($result))
//列出所有的记录
{$filestr.="<".$table.">";
$fields=mysql_list_fields("embed",$table,$con);
$j=0;
//$num_fields=mysql_field_name($fields,$j);
//echo $num_fields;
while ($j<mysql_num_fields($fields)){
$num_fields=mysql_field_name($fields,$j);
$filestr.="<".$num_fields.">";
$filestr.=$row[$j];
$filestr.="</".$num_fields.">";
$j ;}
$filestr.="</".$table.">";
}
$filestr.="</".$table."s>";
echo $filestr;
//以下是文件操作代码
$filename=$table.".xml";
$fp=fopen("$filename","w");
fwrite($fp,$filestr);
fclose($fp);
Echo "数据表".$table."已经备份成功!";?>
</body>
</html>

通过以上文件的操作就可以实现对数据库中选定的表格进行备份.

以上主要介绍了通过PHP实现XML备份数据库的操作方法,其实并不复杂,通过XML,我们可以备份各种各样的数据库,当然也可以通过相关的方法将备份的XML文档恢复到数据库中,这里就不具体描述了。

第一步:首先作一个如下面的表单:(注:这个表单里加了php程序)
<form method="post" action="mailtocard.php" name="card" onSubmit="return card_Validator(this)">
<table width="450" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td valign="top" width="143">
<input type="radio" name="inout" value="newyear" checked>
<img src="/images/newyear1.gif" width="75" height="75"> </td>
<td width="170">
<input type="radio" name="inout" value="newyear2_2">
<img src="/images/newyear2.gif" width="75" height="75"> </td>
<td width="137">
<input type="radio" name="inout" value="newyear3_3">
<img src="/images/newyear1.gif" width="75" height="75"> </td>
</tr>
<tr>
<td valign="top" colspan="3">
<textarea name="text" rows="7" cols="60" wrap="VIRTUAL">你好朋友:
</textarea>
</td>
</tr>
<tr>
<td valign="top" colspan="3">
<select name="music">
<option selected>--卡片背景音乐--</option>
<option value="101marry.mid">一千零一夜</option>
<option value="canyon.mid">canyon</option>
</select>
<input onclick=playSound() type=button value="试听音乐">
</td>
</tr>
<tr>
<td valign="top" colspan="3"> </td>
</tr>
<tr>
<td valign="top" colspan="3">
<table width="370" border="0" cellspacing="0" cellpadding="0" align="center" class="p11">
<tr>
<td width="108">

<?

if (strlen($g_username) > 1)
{
//判定是否登陆,若已登陆显示姓名及Email,不用填写。
$db=mysql_connect("localhost","root","");
$result=mysql_db_query("数据库名","select email,http from 数据库表名 where username='$g_username'");

$row=mysql_fetch_array($result);
$bbs_email=$row[email];

echo "<div align='left'>您的姓名:</div>
</td>
<td width=342>
$g_username
<input type=hidden name=username value=$g_username>
</td>
</tr>
<tr>
<td width=108>
<div align=hidden>您的Email:</div>
</td>
<td width=342>
$bbs_email
<input type=hidden name=email value=$bbs_email>

";
}
//if (strlen($g_username) < 0)
else //判定没有登陆,需要填写姓名及Email。
{
echo "<div align='left'>您的姓名:</div>
</td>
<td width='342'>

<input type='text' name='username'>
</td>
</tr>

本文描述了我在开发我的Blog的过程中所碰到的一些问题以及解决他们的方法。因为本网站采用的是一个免费的远程MySql数据库db4free.net,而且这个数据库是5.1的版本,所以在开发过程中出现了许多问题。故在此发表,以便大家参考。

一、连接远程数据库的方法

对于PHP连接远程MySql数据库,通常要使用如下的语句:

var $serverName = 'db4free.net:3306';//数据库服务器
var $dbName = 'dbname';//数据库名
var $dbUsername = 'username';//用户名
var $dbPassword = '123';//登陆密码
mysql_connect($serverName,$dbUsername ,$dbPassword);
mysql_select_db($dbName);

二、解决中文显示乱码的问题

从MySQL 4.1开始引入多语言的支持,但是用PHP插入的中文会出现乱码.无论用什么编码也不行。非凡是对于这个5.1版本的MySql数据,他在中文的问题上使用较为麻烦。其解决方法如下:

1、在建表的时候设置编码类型为gb2312_chinese_ci.

2、在PHP页面的数据库连接语句加一行mysql_query("SET NAMES 'gb2312'",$link); 例如

$db_host="localhost";
$db_user="root";
$db_password="password";
$db_name="test";
$link=mysql_connect($db_host,$db_user,$db_password);
mysql_query("SET NAMES 'gb2312'",$link);
$db=mysql_select_db($db_name,$link);

这样在MYSQL里面的中文就能正常显示了。也可以用下面这句话:

mysql_query("SET NAMES 'gb2312'");

 

本地文件上传到服务器后,服务器的脚本对文件进行保存,一般有两种方式,一种是作为
文件保存到机器的特定目录下,但是这里就有很多诸如文件重名带来的种种不便之处,有的程
序自动改文件名字,把名字加上上传时间等方法以保证文件名的唯一性,这样失去了文件的原
始名字,通过文件名查询特定的文件信息也有很多困难,不利于文件的统一治理;一种是把文
件保存到数据库中利用数据库的强大功能,可以方便的实现文件的各种操作。本文采用的是第
二种方法。

这一组程序演示了,如何将硬盘的一个文件通过网页,上传到服务器的数据库里面,并且
读出文件的内容。

使用说明:
一共有5个程序,说明如下:
1. file.sql --- 本程序要用到的数据库表的结构[注:数据库用的是test]
2. upload.php --- 上传表单
3. submit.php --- 上传处理程序
4. show_info.php --- 显示部分上传的文件信息
5. show_add.php --- 显示[下载]文件

//////////////////////////////////////////////////////////////////////
(1)file.sql ---
//简要说明
保存上传得文件的基本信息的数据库结构,此处注重保存文件内容的字段,使用longtext类型
因为普通的blob类型最大存储64K字节。另外,一般php的默认配置最大上传文件为2M,假如上
传的文件非凡大,莫忘了调整php.ini的设置哦。
//文件源码
create table receive(
id int NOT NULL auto_increment, #主键,自动累加
file_data longblob, #文件内容
file_type varchar(100), #文件类型
file_name varchar(255), #文件名字
file_size int, #文件大小
PRIMARY KEY(id) #主键
)

//////////////////////////////////////////////////////////////////////
(2)upload.php ---
//简要说明
上传界面,用户选择文件,然后提交给submit.php处理
值得注重的是一个 MAX_FILE_SIZE的隐藏值域,通过设置其VALUE可
以限制上载文件的大小。
//程序源码
<html>
<head>
<title>文件上传表单</title>
</head>
<body>
<table>
<form enctype='multipart/form-data' name='myform' action='submit.php'
method='post'>
<INPUT TYPE = "hidden" NAME = "MAX_FILE_SIZE" VALUE ="1000000">
<tr><td>选择上传文件</td><td>
<input name='myfile' type='file'></td></tr>
<tr><td colspan='2'><input name='submit' value='上传'
type='submit'></td></tr>
</table>
</body>
</html>

[!--infotagslink--]

相关文章

  • PHP 数据库缓存Memcache操作类

    操作类就是把一些常用的一系列的数据库或相关操作写在一个类中,这样调用时我们只要调用类文件,如果要执行相关操作就直接调用类文件中的方法函数就可以实现了,下面整理了...2016-11-25
  • C#连接SQL数据库和查询数据功能的操作技巧

    本文给大家分享C#连接SQL数据库和查询数据功能的操作技巧,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友参考下吧...2021-05-17
  • C#从数据库读取图片并保存的两种方法

    这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
  • Intellij IDEA连接Navicat数据库的方法

    这篇文章主要介绍了Intellij IDEA连接Navicat数据库的方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借价值,需要的朋友可以参考下...2021-03-25
  • 在数据库里将毫秒转换成date格式的方法

    在开发过程中,我们经常会将日期时间的毫秒数存放到数据库,但是它对应的时间看起来就十分不方便,我们可以使用一些函数将毫秒转换成date格式。 一、 在MySQL中,有内置的函数from_unixtime()来做相应的转换,使用如下: 复制...2014-05-31
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • 如何解决局域网内mysql数据库连接慢

    通过内网连另外一台机器的mysql服务, 确发现速度N慢! 等了大约几十秒才等到提示输入密码。 但是ping mysql所在服务器却很快! 想到很久之前有过类似的经验, telnet等一些服务在连接请求的时候,会做一些反向域名解析(如果...2015-10-21
  • MySQL快速复制数据库数据表的方法

    某些时候,例如为了搭建一个测试环境,或者克隆一个网站,需要复制一个已存在的mysql数据库。使用以下方法,可以非常简单地实现。假设已经存在的数据库名字叫db1,想要复制一份,命名为newdb。步骤如下:1. 首先创建新的数据库newd...2015-10-21
  • mysqldump命令导入导出数据库方法与实例汇总

    mysqldump命令的用法1、导出所有库系统命令行mysqldump -uusername -ppassword --all-databases > all.sql 2、导入所有库mysql命令行mysql>source all.sql; 3、导出某些库系统命令行mysqldump -uusername -ppassword...2015-10-21
  • Mysql数据库错误代码中文详细说明

    1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失败1008:数据库不存在,删除数据库失败1009:不能删除数据库文件导致删除数据库失败1010:不能删除数据目录导致删除数据库失败1011:删除数据库...2013-09-23
  • c#异步读取数据库与异步更新ui的代码实现

    这篇文章主要介绍了c#从数据库里取得数据并异步更新ui的方法,大家参考使用吧...2020-06-25
  • Yii2.0高级框架数据库增删改查的一些操作

    yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2使用中的一些基本的增删改查操作。 User::find()->all(); //返回所有用户数据; User::findOne($id); //返回 主键...2015-11-24
  • springBoot 项目排除数据库启动方式

    这篇文章主要介绍了springBoot 项目排除数据库启动方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-10
  • MYSQL数据库使用UTF-8中文编码乱码的解决办法

    1.用phpmyadmin创建数据库和数据表 创建数据库的时候,请将“整理”设置为:“utf8_general_ci” 或执行语句: 复制代码 代码如下:CREATE DATABASE `dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 创...2015-10-21
  • Linux 下使用shell脚本定时维护数据库的案例

    这篇文章主要介绍了Linux 下使用shell脚本定时维护数据库,本文通过案例分析给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
  • PHP连接公司内部服务器的MYSQL数据库的简单实例

    “主机,用户名,密码”得到连接、“数据库,sql,连接”得到结果,最后是结果的处理显示。当然,数据库连接是扩展库为我们完成的,我们能做的仅仅是处理结果而已。...2013-09-29
  • C#连接加密的Sqlite数据库的方法

    对数据加密分两种,一种是对数据库本身进行加密,另一种是对数据表中的数据进行加密,下面通过本文给大家介绍C#连接加密的Sqlite数据库的方法,感兴趣的朋友一起看看吧...2020-06-25
  • Java连接数据库oracle中文乱码解决方案

    这篇文章主要介绍了Java连接数据库oracle中文乱码解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-05-16
  • 深入分析C#连接Oracle数据库的连接字符串详解

    本篇文章是对C#连接Oracle数据库的连接字符串进行了详细的分析介绍,需要的朋友参考下...2020-06-25
  • 修改MySQL数据库中表和表中字段的编码方式的方法

    今天向MySQL数据库中的一张表添加含有中文的数据,可是老是出异常,检查程序并没有发现错误,无奈呀,后来重新检查这张表发现表的编码方式为latin1并且原想可以插入中文的字段的编码方式也是latin1,然后再次仔细观察控制台输...2014-05-31