文档库 最新最全的文档下载
当前位置:文档库 › php页面连接数据库与跳转

php页面连接数据库与跳转

php页面连接数据库与跳转
php页面连接数据库与跳转

PHP连接MYSQL数据库代码

--------------------------------------------------------------------------------

$mysql_server_name='localhost'; //改成自己的mysql数据库服务器

$mysql_username='root'; //改成自己的mysql数据库用户名

$mysql_password='12345678'; //改成自己的mysql数据库密码

$mysql_database='mycounter'; //改成自己的mysql数据库名

$conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_databa se);

$sql='CREATE DA TABASE mycounter DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

';

mysql_query($sql);

$sql='CREATE TABLE `counter` (`id` INT(255) UNSIGNED NOT NULL AUTO_INCREMENT ,`count` INT(255) UNSIGNED NOT NULL DEFAULT 0,PRIMARY KEY ( `id` ) ) TYPE = innodb;';

mysql_select_db($mysql_database,$conn);

$result=mysql_query($sql);

//echo $sql;

mysql_close($conn);

echo "Hello!数据库mycounter已经成功建立!";

?>

--------------------------------------------------------------------------------

PHP连接ACCESS数据库代码方法

--------------------------------------------------------------------------------

$conn = new com("ADODB.Connection");

$connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". realpath("data/db.mdb");

$conn->Open($connstr);

$rs = new com("ADODB.RecordSet");

$rs->Open("select * from szd_t",$conn,1,1);

while(! $rs->eof) {

$f = $rs->Fields(1);

echo $f->value;

$rs->MoveNext();

}

?>

--------------------------------------------------------------------------------

PHP连接MS SQL数据库代码方法

--------------------------------------------------------------------------------

1.安装SQL服务器并添加PHP的MSSQL扩展

2.使用以下代码连接并测试

$myServer = localhost; //主机

$myUser = sa; //用户名

$myPass = password; //密码

$myDB = Northwind; //MSSQL库名

$s = @mssql_connect($myServer, $myUser, $myPass)

or die(Couldnt connect to SQL Server on $myServer);

$d = @mssql_select_db($myDB, $s)

or die(Couldnt open database $myDB);

$query = SELECT TitleOfCourtesy+ +FirstName+ +LastName AS Employee ; $query .= FROM Employees ;

$query .= WHERE Country=USA AND Left(HomePhone, 5) = (206);

$result = mssql_query($query);

$numRows = mssql_num_rows($result);

echo

. $numRows . Row . ($numRows == 1 ? : s) . Returned

;

while($row = mssql_fetch_array($result))

{

echo

  • . $row[Employee] .
  • ;

    }

    ?>

    --------------------------------------------------------------------------------

    PHP连接Oracle数据库

    --------------------------------------------------------------------------------

    PHP提供了两套函数与Oracle连接,分别是ORA_和OCI函数。其中ORA_函数略显陈旧。OCI函数更新据说更好一些。两者的使用语法几乎相差无几。你的PHP安装选项应该可以支持两者的使用。

    连接

    { echo "SUCCESS ! Connected to database\n";

    }else

    {echo "Failed :-( Could not connect to database\n";}

    Ora_Logoff($conn);

    phpinfo();

    ?>

    以上代码使用TNSNAME(在你的tnsnames.ora文件中指明)定义的Oracle数据库名称、用户名称和密码连接数据库。在成功连接的基础上,ora_logon函数返回一个非零的连接ID 并储存在变量$conn中。

    -------------------------------------------------------------------------------------

    /**

    * 自动化数据表操作类

    * @author

    * @version 1.0

    */

    class cls_crud extends cls_database

    {

    /**

    * 数据表名

    * @var string

    */

    private $table = '';

    /**

    * 构造函数

    * @param array $config 配置变量

    */

    public function __construct($config)

    {

    if(!emptyempty($config))

    {

    foreach($config as $cf => $val)

    {

    $this->$cf = $val;

    }

    }

    parent::__construct();

    }

    /**

    * 设置数据表(例如:在操作的过程中需要改变数据表,就可以使用此方法) * @param string $table

    */

    public function set_table($table)

    {

    $this->table = $table;

    }

    /**

    * 读取一条记录

    * @param string $id 主键

    * @param string $fields 获取字段

    * @return array

    */

    public function read($id, $fields='*')

    {

    $sql = "SELECT {$fields} FROM `{$this->table}` WHERE `id`='{$id}'";

    $this->query($sql);

    return $this->fetch_one();

    }

    /**

    * 插入一条记录

    * @param array $array 数组

    * @return bool

    */

    public function insert($array)

    {

    $fields = array();

    $values = array();

    foreach($array as $f => $v)

    {

    $fields[] = "`{$f}`";

    $values[] = "'".mysql_real_escape_string($v)."'";

    }

    $fields = implode(',', $fields);

    $values = implode(',', $values);

    $sql = "INSERT INTO `{$this->table}`({$fields}) V ALUES({$values})";

    return $this->query($sql);

    }

    /**

    * 更新一条记录

    * @param int $id 主键

    * @param array $array 数据数组

    */

    public function update($id, $array)

    {

    $values = array();

    foreach($array as $f => $v)

    {

    $values[] = "`{$f}`='".mysql_real_escape_string($v)."'";

    }

    $values = implode(',', $values);

    $sql = "UPDATE `{$this->table}` SET {$values} WHERE id='{$id}' limit 1";

    return $this->query($sql);

    }

    /**

    * 删除一条记录

    * @param int $id 主键

    * @return bool

    */

    public function delete($id)

    {

    $sql = "DELETE FROM `{$this->table}` WHERE id='{$id}' limit 1";

    return $this->query($sql);

    }

    /**

    * 获取分页列表的数据

    * @param array $wheres where条件数组,如果下标是数字,则直接加入条件,否则组合成:`{下标}`='{值}'这样的条件。最后用and链接

    * @param string $order 排序字段

    * @param int $desc 是否是降序

    * @param int $offset 偏移量

    * @param int $limit 读取记录数

    * @param int $return_total 是否返回满足条件的记录总数,默认为0,需要显示分页时可以设置为1.

    * @return array

    */

    public function get_list($wheres, $order='', $desc=1, $offset=0, $limit=8, $return_total=0) {

    //处理where条件

    if($wheres)

    {

    $where = array();

    foreach($wheres as $f => $v)

    {

    if(is_numeric($f))

    {

    $where[] = $v;

    }

    else

    {

    $where[] = "`{$f}`='".mysql_real_escape_string($v)."'";

    }

    }

    $where = implode(' and ', $where);

    }

    else

    {

    $where = '1';

    }

    //处理orderby

    if(!emptyempty($order))

    {

    $order = "order by `{$order}` " . (1===$desc ? 'desc' : 'asc');

    }

    $sql = "SELECT * FROM `{$this->table}` WHERE {$where} {$order} limit {$offset}, {$limit}";

    $this->query($sql);

    $data = $this->fetch_all();

    if($return_total)

    {

    //返回记录总数(分页)

    $sql = "SELECT count(*) FROM `{$this->table}` WHERE {$where}";

    $this->query($sql);

    $total = $this->fetch_one();

    return array('total'=>current($total), 'list'=>$data);

    }

    else

    {

    return $data;

    }

    }

    }

    ---------------------------------------------------------------------------------------------

    1. 增加记录页面add.htm

    姓名:

    数学:

    英语:

    2. 执行增加记录页面add_do.php

    //判断数据的合法性可自行扩充

    if($_POST['submit'] == '提交' && !empty($_POST['name']) && !empty($_POST['math']) && !empty($_POST['english'])) {

    $name = $_POST['name'];

    $math = $_POST['math'];

    $english = $_POST['english'];

    }

    else {

    exit('Forbidden!');

    }

    //链接数据库

    $conn = mysql_connect('localhost' ,'root', 'm958876825');

    mysql_select_db('lesson', $conn);

    mysql_query("SET NAMES 'GBK'", $conn);

    //插入数据

    if(mysql_query("INSERT INTO `student` (`name`, `math`, `english`) VALUES ('{$name}', '{$math}', '{$english}')", $conn)) {

    exit('插进去了!');

    }

    else {

    exit("啊!哪里错了?");

    }

    ?>

    3. 查询并显示show.php

    //链接数据库

    $conn = mysql_connect('localhost' ,'root', 'm958876825');

    mysql_select_db('lesson', $conn);

    mysql_query("SET NAMES 'GBK'", $conn);

    //查询记录

    $query = mysql_query("SELECT * FROM `student` ORDER BY `id` DESC", $conn);

    while($row = mysql_fetch_assoc($query)) {

    ?>

    }

    ?>

    编号姓名数学英语编辑| 删除
    编辑 | 删除

    4. 编辑edit.php

    //对入口参数做简单的安全过滤

    if(empty($_GET['id'])) {

    exit('说说要改哪个吧?');

    }

    else if(!ereg("^[0-9]{1,11}$", $_GET['id'])) {

    exit('数据不合法!');

    }

    $id = $_GET['id'];

    //链接数据库

    $conn = mysql_connect('localhost' ,'root', 'm958876825');

    mysql_select_db('lesson', $conn);

    mysql_query("SET NAMES 'GBK'", $conn);

    //查询记录

    $query = mysql_query("SELECT * FROM `student` WHERE `id`='{$id}'", $conn);

    $row = mysql_fetch_assoc($query);

    if(empty($row)) {

    exit('没有这个记录!');

    }

    ?>

    姓名:

    数学:
    英语:

    5. 执行编辑edit_do.php

    //对入口参数做简单的安全过滤

    if(empty($_POST['id'])) {

    exit('说说要改哪个吧?');

    }

    else if(!ereg("^[0-9]{1,11}$", $_POST['id'])) {

    exit('ID不合法!');

    }

    $id = $_POST['id'];

    //内容合法性检测

    if($_POST['submit'] == '提交' && !empty($_POST['name']) && !empty($_POST['math']) && !empty($_POST['english'])) {

    $name = $_POST['name'];

    $math = $_POST['math'];

    $english = $_POST['english'];

    }

    else {

    exit('数据不合法!');

    }

    //链接数据库

    $conn = mysql_connect('localhost' ,'root', 'm958876825');

    mysql_select_db('lesson', $conn);

    mysql_query("SET NAMES 'GBK'", $conn);

    //查询记录

    $query = mysql_query("SELECT `id` FROM `student` WHERE `id`='{$id}'", $conn);

    $row = mysql_fetch_assoc($query);

    if(empty($row)) {

    exit('没有这个记录!');

    }

    else if(!mysql_query("UPDA TE `student` SET `name`='{$name}', `math`='{$math}', `english`='{$english}' WHERE (`id`='{$row['id']}') LIMIT 1", $conn)) {

    exit('改败了!');

    }

    else {

    exit('成了!');

    }

    ?>

    6.删除del.php

    //对入口参数做简单的安全过滤

    if(empty($_GET['id'])) {

    exit('说说要改哪个吧?');

    }

    else if(!ereg("^[0-9]{1,11}$", $_GET['id'])) {

    exit('ID不合法!');

    }

    $id = $_GET['id'];

    //链接数据库

    $conn = mysql_connect('localhost' ,'root', 'm958876825');

    mysql_select_db('lesson', $conn);

    mysql_query("SET NAMES 'GBK'", $conn);

    //查询记录

    $query = mysql_query("SELECT `id` FROM `student` WHERE `id`='{$id}'", $conn);

    $row = mysql_fetch_assoc($query);

    if(empty($row)) {

    exit('没有这个记录!');

    }

    else if(!mysql_query("DELETE FROM `student` WHERE (`id`='{$row['id']}') LIMIT 1", $conn)) {

    exit('没删成!');

    }

    else {

    exit('删掉了!');

    }

    ?>

    ------------------------------------------------------------------------------------------

    1. foreach()

    foreach()是一个用来遍历数组中数据的最简单有效的方法。

    #example1:

    下载: list_array01.php

    $colors = array('red','blue','green','yellow');

    foreach ($colors as $color) {

    echo "Do you like $color?
    ";

    }

    ?>

    显示结果:

    Do you like red?

    Do you like blue?

    Do you like green?

    Do you like yellow?

    2. while()

    while() 通常和list(),each()配合使用。

    #example2:

    下载: list_array02.php

    $colors = array('red','blue','green','yellow');

    while(list($key,$val) = each($colors)) {

    echo "Other list of $val.
    ";

    }

    ?>

    显示结果:

    Other list of red.

    Other list of blue.

    Other list of green.

    Other list of yellow.

    3. for()

    #example3:

    下载: list_array03.php

    $arr = array ("0" => "zero","1" => "one","2" => "two");

    for ($i = 0;$i < count($arr); $i++) {

    $str = $arr[$i];

    echo "the number is $str.
    ";

    }

    ?>

    显示结果:

    the number is zero.

    the number is one.

    the number is two.

    ========= 以下是函数介绍==========

    key()

    mixed key(array input_array)

    key()函数返回input_array中位于当前指针位置的键元素。

    #example4

    下载: list_array04.php

    $capitals = array("Ohio" => "Columbus","Towa" => "Des Moines","Arizona" => "Phoenix"); echo "

    Can you name the capitals of these states?

    ";

    while($key = key($capitals)) {

    echo $key."
    ";

    next($capitals);

    //每个key()调用不会推进指针。为此要使用next()函数

    }

    ?>

    显示结果:

    Can you name the capitals of these states?

    Ohio

    Towa

    Arizona

    reset()

    mixed reset(array input_array)

    reset()函数用来将input_array的指针设置回数组的开始位置。如果需要在一个脚本中多次查看或处理同一个数组,就经常使用这个函数,另外这个函数还常用于排序结束时。

    #example5 -在#example1上追加代码

    下载: list_array05.php

    $colors = array('red','blue','green','yellow');

    foreach ($colors as $color) {

    echo "Do you like $color?
    ";

    }

    reset($colors);

    while(list($key,$val) = each($colors)) {

    echo "$key => $val
    ";

    }

    ?>

    显示结果:

    Do you like red?

    Do you like blue?

    Do you like green?

    Do you like yellow?

    0 => red

    1 => blue

    2 => green

    3 => yellow

    注意:将一个数组赋值给另一个数组时会重置原来的数组指针,因此在上例中如果我们在循环内部将$colors 赋给了另一个变量的话将会导致无限循环。

    例如将$s1 = $colors; 添加到while循环内,再次执行代码,浏览器就会无休止地显示结果。

    each()

    array each(array input_array)

    each()函数返回输入数组当前键/值对,并将指针推进一个位置。返回的数组包含四个键,键

    0和key包含键名,而键1和value包含相应的数据。如果执行each()前指针位于数组末尾,则返回FALSE。

    #example6

    下载: list_array06.php

    $capitals = array("Ohio" => "Columbus","Towa" => "Des Moines","Arizona" => "Phoenix");

    $s1 = each($capitals);

    print_r($s1);

    ?>

    显示结果:

    Array ( [1] => Columbus [value] => Columbus [0] => Ohio [key] => Ohio )

    current(),next(),prev(),end()

    mixed current(array target_array)

    current()函数返回位于target_array数组当前指针位置的数组值。与next()、prev()、和end()函数不同,current()不移动指针。

    next()函数返回紧接着放在当前数组指针的下一个位置的数组值。

    prev()函数返回位于当前指针的前一个位置的数组值,如果指针本来就位于数组的第一个位置,则返回FALSE。

    end()函数将指针移向target_array的最后一个位置,并返回最后一个元素。

    #example7

    下载: list_array07.php

    $fruits = array("apple","orange","banana");

    $fruit = current($fruits); //return "apple"

    echo $fruit."
    ";

    $fruit = next($fruits); //return "orange"

    echo $fruit."
    ";

    $fruit = prev($fruits); //return "apple"

    echo $fruit."
    ";

    $fruit = end($fruits); //return "banana"

    echo $fruit."
    ";

    ?>

    显示结果:

    apple

    orange

    apple

    banana

    =========== 下面来测试三种遍历数组的速度===========

    一般情况下,遍历一个数组有三种方法,for、while、foreach。其中最简单方便的是foreach。下面先让我们来测试一下共同遍历一个有50000个下标的一维数组所耗的时间。

    测试环境:

    Intel Core Due2 2GHz

    2GB 1067MHz DDR3

    Mac OS X 10.5.7

    Apache 2.0.59

    MySQL 5.0.41

    PHP 5.2.6

    #example8

    下载: list_array08.php

    $arr = array();

    for($i = 0; $i < 50000; $i++){

    $arr[] = $i*rand(1000,9999);

    }

    function GetRunTime()

    {

    list($usec,$sec)=explode(" ",microtime());

    return ((float)$usec+(float)$sec);

    }

    ######################################

    $time_start = GetRunTime();

    for($i = 0; $i < count($arr); $i++){

    $str = $arr[$i];

    }

    $time_end = GetRunTime();

    $time_used = $time_end - $time_start;

    echo 'Used time of for:'.round($time_used, 7).'(s)

    ';

    unset($str, $time_start, $time_end, $time_used);

    ######################################

    $time_start = GetRunTime();

    while(list($key, $val) = each($arr)){

    $str = $val;

    }

    $time_end = GetRunTime();

    $time_used = $time_end - $time_start;

    echo 'Used time of while:'.round($time_used, 7).'(s)

    ';

    unset($str, $key, $val, $time_start, $time_end, $time_used);

    ######################################

    $time_start = GetRunTime();

    foreach($arr as $key => $val){

    $str = $val;

    }

    $time_end = GetRunTime();

    $time_used = $time_end - $time_start;

    echo 'Used time of foreach:'.round($time_used, 7).'(s)

    ';

    ?>

    ------------------------------------------------------------------------------------------------

    方法一:

    echo "";//one.php是要跳转的页面

    方法二:

    header("location:admin.php");//admin.php是要跳转的页面

    ----------------------------------------------------------------------------------------------------

    PHP+AJAX教程(5)-AJAX MySQL数据库实例

    PHP+AJAX教程(5):AJAX MySQL数据库实例 AJAX 可用来与数据库进行交互式通信。 AJAX 数据库实例 在下面的AJAX 实例中,我们将演示网页如何使用AJAX 技术从MySQL 数据库中读取信息。 在下拉列表中选择一个名字(测试说明:该实例功能未实现) 在此列出用户信息。 此列由四个元素组成: MySQL 数据库 简单的HTML 表单 JavaScript PHP 页面 数据库 将在本例中使用的数据库看起来类似这样: id FirstName LastName Age Hometown Job 1 Peter Griffin 41 Quahog Brewery 2 Lois Griffin 40 Newport Piano Teacher 3 Joseph Swanson 39 Quahog Police Officer 4 Glenn Quagmire 41

    Quahog Pilot HTML 表单 上面的例子包含了一个简单的HTML 表单,以及指向JavaScript 的链接: <html><head><script src="selectuser.js"></script></head><body><form> Select a User:<select name="users" onchange="showUser(this.value)"><option value="1">Peter Griffin</option><option value="2">Lois Griffin</option><option value="3">Glenn Quagmire</option><option value="4">Joseph Swanson</option></select></form><p><div id="txtHint"><b>User info will be listed here.</b></div></p></body></html> 例子解释- HTML 表单 正如您看到的,它仅仅是一个简单的HTML 表单,其中带有名为"users" 的下拉列表,okooo澳客网这个列表包含了姓名,以及与数据库的"id" 对应的选项值。 表单下面的段落包含了名为"txtHint" 的div。这个div 用作从web 服务器检索到的信息的占位符。 当用户选择数据时,执行名为"showUser()" 的函数。该函数的执行由"onchange" 事件触发。 换句话说:每当用户改变下拉列表中的值,就会调用showUser() 函数。 JavaScript 这是存储在"selectuser.js" 文件中的JavaScript 代码: var xmlHttpfunction showUser(str){ xmlHttp=GetXmlHttpObject()if (xmlHttp==null){alert ("Browser does not support HTTP Request")return}var url="getuser.php"url=url+"?q="+strurl=url+"&sid="+Mat h.random()xmlHttp.onreadystatechange=stateChanged xmlHttp.open("GET",url,true)xmlHttp.send(null)}function stateChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ document.getElementById("txtHint").i nnerHTML=xmlHttp.responseText } }function GetXmlHttpObject(){var xmlHttp=null;try{// Firefox, Opera 8.0+, SafarixmlHttp=new XMLHttpRequest();}catch (e){//Internet Explorertry { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }}return xmlHttp;} 例子解释: stateChanged() 和GetXmlHttpObject 函数与PHP AJAX 请求那一节中的相同,您可以参阅其中的相关解释。 showUser() 函数 假如下拉列表中的项目被选择,函数执行: 调用GetXmlHttpObject 函数来创建XMLHTTP 对象定义发送到服务器的URL(文件名)向URL 添加带有下拉列表内容的参数(q) 添加一个随机数,以防服务器使用缓存的文件当触发事件时调用stateChanged 通过给定的URL 打开XMLHTTP 对象向服务器发送HTTP

    学习数据库的心得

    学习数据库的心得 篇一:SQL 学习心得 SQL 数据库学习心得 经过一个学期的数据库课程的学习,我基本上掌握了创建数据库以及对数据库的操作的基础知识。学 习了 SQL 数据库中的增、删、改、查等功能,数据库这门课涉及到以前的知识不多,是一门从头学起的课 程,即使基础不是很好,只要认真听讲、复习功课,还是一门比较容易掌握的课。 正是由于这门课和以前关系不大,很多知识也从未接触过,因此对于这门课的学习方法就是:理论课 上认真听老师讲理论知识,上机课上仔细看老师的演示过程、在电脑上按照老师的演示步骤自己做,遇到 自己无法做出来的过程(步骤)请教老师或者同学。 在第一章基础篇里:开篇任务一是对通讯录程序的主要功能做一个简单的介绍,并根据这些功能使用 SQL Server2005 设计了对应的数据库 AddressList 及数据表,并建立数据表之间的关系;了解了通讯录程序数 据库 AddressList 包含的三个表以及表的相关属性。由于我在本学期初参加数学建模竞赛,耽误了几节课程, 导致任务一的内容不会做。而 C#数据库中的内容一环扣一环,后面的任务往往是在前面的任务基础上做的, 所以一步跟不上,步步跟不上。在老师讲后面的任务时而我前面的任务既不太会做,又没有做完,导致在 学习上很吃力。之后的任务都是在任务一的基础上的延伸,学习数据库的编写、功能等。在学习数据库和 数据表创建和修改时,了解到表是建立关系数据库的基本结构,用来存储数据具有已定义的属性,在表的 操作过程中,有查看表信息、查看表属性、修改表中的数据、删除表中 的数据及修改表和删除表的操作。从课程中中让我更明白一些知识,表是数据最重要的一个数据对象, 表的创建好坏直接关系到数数据库的成败,表的内容是越具体越好,但是也不能太繁琐,以后在实际应用 中多使用表,对表的规划和理解就会越深刻。我们上机的另一个内容是数据库的约束、视图、查询。 通过对数据库的学习,我也明白了很多行业都离不开数据库,就算是一个小型的超市也离不开它。可 见数据库这门课的在生活中的广泛性与实用性,如果能够认真学好它将来必有成就。由于我在毕业后并没 有打算从事这方面的工作,所以在学习的时候只是学习,上课把老师布置的作业温习以下。第一次接触数 据库,第一次接触 SQL 语言,虽然陌生,但是可以让我从头开始学,就算没有基础的人也可以学得很好。 刚开始练习 SQL 语言的时候,并不是很难。虽然我前面拉下几节课,但在同学的帮助上基本上都能做出来, 虽然不能做到举一反三,可还是很有成就感。 对于数据库的学习是一个循循渐进的过程,在这之中存在很多的细节,稍有不慎自己做出的程序就会 出错,调试时显示各类错误,比如:没有 using 命令、标点符号的错误。尤其是汉语下的标点符号和英文符 号,有时看着很像,但在 C#数据库应用程序中就是对与错的区别。在任务二中做的是用户登录,要建立连 接数据库。在这中间需要添加 SQL 语句以实现数据库的连接,打开、关闭数据库;当然在这中间可能会出 现一些异常:比如访问数据库的过程中,可能会出现数据库服务没有开启、连接中断等异常情况。为了使 应用程序能够处理 这些突发情况,需要进行异常处理,加入一些数据库中的一些处理语句。在之后的用户登录模块中需 要设计用户登录界面中控件的属性、名称等,之后在“登录”、“取消”按钮上添加事件代码,在这中可以对用 户名和密码进行更改,待这一切做完后进行调试以实现任务二的任务。

    数据库总结

    1.数据库特点:较小的冗余度。较高的数据独立性、易扩展性。可为各种用户共享 数据库是数据集合 2.DBMS功能:数据定义功能。数据组织、存储和管理(文件结构和存取方式)。数据操纵功能(增删查改) 3.高级数据库系统:分布式数据库系统,面向对象数据库系统 4.数据模型的组成部分包括:数据结构,数据操作,数据约束条件。 5.数据更新:数据添加,数据修改,数据删除。 6.数据模型(网状、层次、关系模型):按计算机系统的观点建模,主要用于DBMS的实现,不包括E-R 关系模型中由三种完整性约束:实体完整性,参照完整性,用户自定义完整性。 7.【 8.关系:(Relation)一个关系通常是一张表。 9.分量:某一元组的一个属性值,为最小单位,不可分。 10.存储结构:在DB物理组织之中,表以文件形式储存 11.数据库系统结构: 从DBMS角度:外模式(External Schema),模式(Schema),内模式(Internal Schema)。 从最终用户角度:集中式结构。分布式结构。客户/服务器结构。并行结构 12. 13.模式/内模式映象是唯一的,同一个模式可以有任意多个外模式; ) 三级模式与二级映像优点:(1)保证数据的独立性(2)简化用户接口(3)有利于数据共享 (4)有利于数据保密 14.关系模型的组成:关系数据结构。关系操作集合。关系完整性约束 SQL Server基于关系模型的数据库系统。 15.主码:若一个关系有多个候选码,则选定其中的一个为主码

    15:数据类型: decimal(不包含小数点多少位,小数点后几位) nvarchar采用Unicode编码,无论是中文英文占一个字节 、 有n表示Unicode编码,每个字符占一个字节,没有n表示非Unicode编码, 英文或者数字占一个字节,中文占两个字节。 有中文用nvarchar,没有中文用varchar. 16:按照功能分类: DDL:(Database design language)数据定义语言,用于进行各种数据库对象的创建主要操作包括create,alter,drop DML:(Database management language)数据管理语言,用于对标的数据添加,修改,删除,查询,主键操作包括,insert,update,delete,select ~ DCL:(Database control language)数据控制语言,用于进行权限分配等 ] 1:创建数据库 create database TaoHao on primary ( name='TaoHao', filename='E:\Microsoft SQL Server\DATA\', size=10mb, " maxsize=200mb, filegrowth=10mb ) log on ( name='TaoHao_log', filename='E:\Microsoft SQL Server\DATA\', size=5mb, : filegrowth=10mb ) 相关子查询:not exists;子查询需要父查询的结果才能执行

    PHP程序mysql连接文件信息修改

    PHP程序MySQL文件连接信息修改 注意事项:所有路径均相对于程序的安装目录,修改信息的时候切记不要删除两边的引号 1.shopex4.8 配置文件路径: \config\config.php 配置信息 define('DB_USER', 'MYSQL登录用户'); define('DB_PASSWORD', 'MYSQL密码'); define('DB_NAME', '数据库名'); define('DB_HOST', '服务器地址'); 2.shopex4.7 配置文件路径 \include\mall_config.php 配置信息 $dbHost = "服务器地址"; $dbName = "数据库名"; $dbUser = "MYSQL登录用户名"; $dbPass = "数据库密码"; 3.discuz 配置文件路径 \config.inc.php 配置信息 $dbhost = '服务器地址'; // 数据库服务器 $dbuser = '数据库名'; // 数据库用户名 $dbpw = '数据库密码'; // 数据库密码 $dbname = '数据库名'; // 数据库名 4. phpwind 配置文件路径 \data\sql_config.php 配置文件信息 define('DB_USER', '数据库用户'); define('DB_PASSWORD', '数据库密码'); define('DB_NAME', '数据库名'); define('DB_HOST', '数据库地址'); 5.PHPCMS 配置文件路径 \config.inc.php 配置文件信息 $CONFIG['dbhost'] = '数据库主机'; $CONFIG['dbuser'] = '数据库用户名';

    《数据库原理》知识点总结

    《数据库原理》知识点总结标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-

    目录未找到目录项。 一数据库基础知识(第1、2章) 一、有关概念 1.数据 2.数据库(DB) 3.数据库管理系统(DBMS) Access 桌面DBMS VFP SQL Server Oracle 客户机/服务器型DBMS MySQL DB2 4.数据库系统(DBS) 数据库(DB) 数据库管理系统(DBMS) 开发工具 应用系统 二、数据管理技术的发展 1.数据管理的三个阶段 概念模型 一、模型的三个世界 1.现实世界

    2.信息世界:即根据需求分析画概念模型(即E-R图),E-R图与DBMS 无关。 3.机器世界:将E-R图转换为某一种数据模型,数据模型与DBMS相关。 注意:信息世界又称概念模型,机器世界又称数据模型 二、实体及属性 1.实体:客观存在并可相互区别的事物。 2.属性: 3.关键词(码、key):能唯一标识每个实体又不含多余属性的属性组合。 一个表的码可以有多个,但主码只能有一个。 例:借书表(学号,姓名,书号,书名,作者,定价,借期,还期) 规定:学生一次可以借多本书,同一种书只能借一本,但可以多次续借。 4.实体型:即二维表的结构 例 student(no,name,sex,age,dept) 5.实体集:即整个二维表 三、实体间的联系: 1.两实体集间实体之间的联系 1:1联系 1:n联系 m:n联系 2.同一实体集内实体之间的联系 1:1联系 1:n联系 m:n联系 四、概念模型(常用E-R图表示) 属性: 联系: 说明:① E-R图作为用户与开发人员的中间语言。 ② E-R图可以等价转换为层次、网状、关系模型。 举例: 学校有若干个系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授 和副教授每人各带若干研究生。每个班有若干学生,每个学生选修若干课程,每门课程有若干学生选修。用E-R图画出概念模型。

    实验八 PHP与Mysql数据库交互实验

    实验八 PHP与Mysql数据库交互实验 一、实验目的 1.掌握PHP连接MySql数据库的方法; 2.掌握PHP操作MySql数据库的方法; 3.理解PHP操作MySql数据库的流程。 二、实验方法 通过实验,学生可以做到: 1.使用PHP连接MySql数据库。 2.使用PHP对MySql数据库进行插入、删除、查询操作。 3.制作简单的动态交互网页。 三、实验过程 (一)创建数据库和数据表 1.利用phpMyAdmin在图形界面下创建数据库和数据表 在地址栏输入http://localhost:8080/phpmyadmin/,在弹出的窗口的用户栏内输入“root”,密码栏内输入安装时预留的密码,显示如下页面则表明登录成功。 在左侧选择数据库“test”(如果没有,则创建之),并向其中添加“学生信息”表(studentInfo),表中添加字段“姓名、年龄、性别、住址、专业”等。 如果操作正确,显示下图则表明数据表创建成功,下面可以向表中添加数据。 2.向表中添加内容 选择要进行操作的数据表(studentInfo),然后单击“插入”即可进行数据的插入操作。

    此处插入数据的操作不是很方便,是逐字段进行的。 测试数据请学生自行编写,至少插入十条不同的数据,以便后续使用。 (二)使用PHP 操作MySql 数据库 1.PHP 连接Mysql 数据库服务器 在网站根目录下新建文件conn.php ,用于连接Mysql 数据库。如果连接成功,给出“已经成功连接MySQL 数据库”的信息,否则,给出“不能连接到MySQL 数据库”的信息。示例代码如下: 在浏览器地址栏输入:http://localhost :端口号/conn.php ,回车,显示如图2所示,则表明PHP 与MySQL 能够协同工作了。 2.PHP 选择要使用的数据库 建立数据库链接后,需要使用mysql_select_db()函数,来指定一个数据库,本例为刚刚创建的test 数据库。下面演示mysql_select_db()函数的使用方法,示例代码如下。

    php页面连接数据库与跳转

    PHP连接MYSQL数据库代码 -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- PHP连接ACCESS数据库代码方法 -------------------------------------------------------------------------------- Open($connstr); $rs = new com("ADODB.RecordSet"); $rs->Open("select * from szd_t",$conn,1,1); while(! $rs->eof) { $f = $rs->Fields(1); echo $f->value; $rs->MoveNext(); } ?> --------------------------------------------------------------------------------

    数据库课程总结与体会

    篇一:《数据库课程学习的收获和心得体会》 数据库课程学习的收获和心得体会 在大二的下学期刚学了数据库这门课,对这门课的第一印象是书本蛮厚的,感觉学起来应该会很难很累。在学习这门课的过程中,在对数据库的了解过程中,慢慢对数据库有了感观。数据库这一词并不是很难想象,并不是像外人看来很神奇。作为计算机专业的学生,这样的专业术语或者专业知识是最基本的。 学习的时候没有想象中的那么难,只要上课能听懂就基本还可以。但是问题还是出在书本有点厚,有的时候上课的内容都要找很久才能找到,甚至有的时候老师讲的知识书本上是找不到的,是另外补充而且是相当重要的内容。有的时候开小差,没有听到老师讲的知识点,这就导致了以后的学习无法顺利进行,使得学习起来十分困难。所以在数据库这门课的学习中,上课一定要听牢,就像老师说的那样,这样的专业课如果想凭考试前几天突击是行不通的,必须是日积月累的知识才能取得好成绩。 通过对数据库的学习,我也明白了各行各业都离不开数据库,就算是一个小型的超市也离不开它。可见数据库这门课的广泛性,如果能够认真学好它将来必有成就。我就是抱着这种信念去学习数据库的。第一次接触数据库,第一次接触

    SQL语言,虽然陌生,但是可以让我从头开始学,就算没有基础的人也可以学得很好。刚开始练习SQL语言的时候,并不是很难,基本上都是按照老师的步骤来做,还很有成就感。后来学了单表查询和连接查询后,就慢慢发现越学越困难了,每个题目都要思考很久,并且每个题目基本上不止一个答案,所以必须找出最优的答案。后面的删除、插入、修改这些题目都变化蛮大的,书本上的例题根本无法满足我们,好在老师给我们提供了大量的课件,通过这些PPT,我们可以巩固课内的知识,还可以学习内容相关的知识,更好地完成老师布置的作业。 除了老师布置的一些基本作业外,还有一份大作业。就像我们小组的是杂货店的销售管理系统,在完成这一作业的过程中,我们可以通过网络实现一家杂货店。过程是很复杂的,杂货店需要员工,还有百来种商品,不仅需要大量的数据,还要完成需求说明,数据词典,还有E-R图等,虽然想象起来并不是很难,但是要转化成文字,转化成人们能够读懂的文字就显得十分困难。特别是一个完整的销售系统,对我们来说都是第一次接触,在做大作业的时候经常是前面改改,后面改改,因为一些数据不能很好地对应起来,经常会遗忘一些,所以出现了这样的情况。一个完整的数据库系统也就是在这样修修改改的状态下完成的,也给了我很大的反思。第一、一个数据库的完成一定要考虑各方面的因素,包括现实因素。第 二、在完成这类作业时,修修改改是很正常的,不要因此而厌倦。第三、一个完整的数据库一定不能出现错误,否则会在现实生活中带来不必要的麻烦。

    数据库复习总结

    第0讲 1:什么是数据库 在计算机中,一个逻辑相关的数据的共享集合,有数据的描述,满足组织的信息需要 2:什么是数据库管理系统 控制一个数据库的程序集合叫DBMS,它可以定义,创建,维护和操作数据库 3:什么是数据库系统 一个计算机中的软件系统,它可以访问,修改,管理和操作数据 4:什么是数据库应用系统 一种计算机程序,通过输入一些需求给数据库管理系统,再通过数据库管理系统和数据库联系起来(就是我们常说的软件开发,比如学生信息管理系统等) 第1讲 1:什么是文件系统?它有什么局限性? 为用户提供服务的一组程序集合。每个程序被定义管理自己的数据。 局限性:1.储存在文件系统中的数据分离和孤立2.相同数据存储在不同文件下造成冗余。 3文件结构被程序的代码所决定,所以具有数据依赖。4.程序用不同的语言写,使得程序不能互相访问,造成文件格式不支持。4.查询方式固定,程序翻新困难 2:文件系统的局限性有什么特点? 1..数据嵌入到应用程序中,没有被分离和独立存储。 2.不能进行应用程序规定以外的访问和操作。 3:数据库的优点,目的,作用? 数据集中,少冗余,数据共享,程序和数据独立。 5:数据库处理过程中的四个角色 用户,数据库应用程序,数据库管理系统,数据库 6:视图VIEW的优点: 降低复杂度,提高安全性,自定义数据库的外观,可以通过视图用自己的方式查看数据库,提供程序和数据的独立。 7:数据库管理系统的优点和缺点? 优点:少冗余,数据具有一致性,数据共享,具有完整性,规模适度,具有安全性,数据独立,提高并发性,改性可访问性,提高生产力,具有备份和恢复功能。 缺点:DBMS是一个大的复杂的软件,可能会占据大量的磁盘和内存空间,而且功能越多,速度越慢,建立和维护DBMS的费用较高,并且附加硬件开销,而且集中管理可能增加系统被破坏的可能性。 第二讲 1.ANSI-SPARC Three-level database architecture 三层体系结构 外部层:用户从外部层观察数据 概念层:提供内、外部层的映射和必要的独立性 内部层:操作系统从内部层观察数据 2为什么要是用三次体系结构? 1.修改数据存储结构,不影响视图 2.存储结构变化不影响数据库内部结构 3.修改概念结构不影响用户 3:数据库定义语言Data Definition Language (DDL) 它是描述和命名应用程序中用到的实体、属性和联系,而且给出相关的完整性约束和安全性约束 4.数据库操作语言:Data Manipulation Language (DML) 提供基本的数据库操作,它有两种,一中是面向过程的DML,一种是面向非过程的DML 5:数据模型Data Model 它是一个集成的概念,用来描述数据、联系、约束,目的是为了使表示的数据更容易理解 第三讲 1:数据模型的三要素 数据结构完整性约束

    PHP+MySQL教程

    PHP+MySQL 教程 教程(1):MYSQL 简介
    WebjxCom 提示:MySQL 是一种数据库。数据库定义了存储信息的结构。
    是最流行的开源数据库服务器。 MySQL 是最流行的开源数据库服务器。
    什么是 MySQL? ?
    MySQL 是一种数据库。数据库定义了存储信息的结构。 在数据库中,存在着一些表。类似 HTML 表格,数据库表含有行、列以及单元。 在分类存储信息时,数据库非常有用。一个公司的数据库可能拥有这些表: "Employees", "Products", "Customers" 以及 "Orders"。
    数据库表
    数据库通常包含一个或多个表。每个表都一个名称(比如 "Customers" 或 "Orders")。每个表包含带有数据的记录(行)。 下面是一个名为 "Persons" 的表的例子:
    LastName FirstName Hansen Ola Address City
    Timoteivn 10 Sandnes Borgvn 23 Storgt 20 Sandnes Stavanger
    Svendson Tove Pettersen Kari
    上面的表含有三个记录(每个记录是一个人)和四个列(LastName, FirstName, Address 以及 City)。
    查询
    查询是一种询问或请求。 通过 MySQL,我们可以向数据库查询具体的信息,并得到返回的记录集。 请看下面的查询:

    SELECT LastName FROM Persons 上面的查询选取了 Persons 表中 LastName 列的所有数据,并返回类似这样的 记录集:
    LastName Hansen Svendson Pettersen
    下载 MySQL 数据库
    如果您的 PHP 服务器没有 MySQL 数据库,可以在此下载 MySQL: https://www.wendangku.net/doc/1815499926.html,/downloads/index.html
    Facts About MySQL Database
    关于 MySQL 的一点很棒的特性是,可以对它进行缩减,来支持嵌入的数据库应 用程序。也许正因如此,许多人认为 MySQL 仅仅能处理中小型的系统。 事实上,对于那些支持巨大数据和访问量的网站,MySQL 是事实上的标准数据库 (比如 Friendster, Yahoo, Google)。这个地址提供了使用 MySQL 的公司的 概览:https://www.wendangku.net/doc/1815499926.html,/customers/。
    PHP+MySQL 教程 连接 MYSQL 数据库 教程(2):连接
    WebjxCom 提示:免费的 MySQL 数据库通常是通过 PHP 来使用的。在您能够访问并 处理数据库中的数据之前,您必须创建到达数据库的连接。
    来使用的。 免费的 MySQL 数据库通常是通过 PHP 来使用的。
    连接到一个 MySQL 数据库
    在您能够访问并处理数据库中的数据之前,您必须创建到达数据库的连接。 在 PHP 中,这个任务通过 mysql_connect() 函数完成。

    access数据库知识点总结

    SELECT查询包括条件项、内连接、分组汇总(含HAVING)、排序、简单子查询(不考EX ISTS)及一些输出选项。 数据库管理系统(DBMS)特点(1)数据结构化(2)数据共享性好、冗余度低、(3)数据独立性强(4)DBMS统一管理。 数据库(DB),就就是相关联得数据得集合。 数据库系统(DBS),就是指在计算机中引入数据库后得系统构成,由计算机软硬件、数据库、DBMS、应用程序以及数据库管理员(DBA)与数据库用户构成。 关系模型就是一种数据模型关系模型中最重要得概念就就是关系.关系(Relation),直观得瞧,就就是由行与列组成得二维表,一个关系就就是一张二维表。 关系中得一列称为关系得一个属性(Attribute),一行称为关系得一个元组(Tuple)。 组称为候选键(Candidate Key),从候选键中挑选一个作为该关系得主键(Primary Key)。一个关系中存放得另一个关系得主键称为外键(Foreign Key)。并不就是任何得二维表都可以称为关系。关系具有以下特点: ?关系中得每一列属性都就是原子属性,即属性不可再分; ?关系中得每一列属性都就是同质得,即每一个元组得该属性取值都表示同类信息; ?关系中得属性间没有先后顺序; ?关系中元组没有先后顺序; ?关系中不能有相同得元组。 关系模型,就就是对一个数据处理系统中所有数据对象得数据结构得形式化描述。将一个系统中所有不同得关系模式描述出来,就建立了该系统得关系模型。 关系数据库,就是依据关系模型建立得数据库,就是目前各类数据处理系统中最普遍采用得数据库类型.依照关系理论设计得DBMS,称为关系DBMS。数据库设计指:对于给定得应用环境,设计构造最优得数据库结构,建立数据库及其应用系统,使之能有效地存储数据,对数据进行操作与管理,以满足用户各种需求得过程. 联系有三种类型,转化为关系模式后,与其她关系模式可进行合并优化。 1:1得联系,一般不必要单独成为一个关系模式,可以将它与联系中得任何一方实体转化成得关系模式合并(一般与元组较少得关系合并). 1:n得联系也没有必要单独作为一个关系模式,可将其与联系中得n方实体转化成得关系模式合并。 m:n得联系必须单独成为一个关系模式,不能与任何一方实体合并. 在数据库输入与存放数据时,最主要得就是要满足三类数据完整性约束规则:实体完整性、参照完整性与用户定义得完整性。 实体完整性规则:定义了主键得关系中,不允许任何元组得主键属性值为空值。

    PHP连接数据库mysql基本语法

    PHP连接数据库MySQL-查询 1.按照查询行数进行遍历 首先,在MySQL里建立好数据库,包括数据库的名称,主机名,和密码这三块 这里,我采用的事Navicat for MySQL 的数据库访问工具, 然后在PHP编辑程序里加入测试代码 这里测试数据库是否安装完成的 当测试的返回值为ok 时,下面就可以进行数据库连接了 我们在数据库中首先建立好一个测试的数据里test1,然后在下面建立一张表,StudentInfo,在表里面我们添加四个字段,分别是id name hobby 和tel 并为四个字段赋值 接下来

    我们之前记录了数据库的名称,主机名,和密码我们将这三个当做字符串进行保存, 然后采用PHP的连接语句 mysql_connect($hostname,$user,$password) 选择之前的三个参数 用or die 的目的是为了即使连接错误系统不会继续执行而是返回错误 连接数据库成功连接表就好了也就是我们事先创建的表test1 连接表成功之后,我们将使用代码访问表中的数据 使用数据库语言进行查询语句,这里表名一定要用引号(是数字键1前面的那个)括起来否则会出错 2.按照数据库表名称进行控制查询 唯一的区别就在一个采用的mysql_fetch_assoc另外一个采用的是 mysql_fetch_row,前者的搜索显示里面存放的是表中的ID名称,而后者则是采用直接的行号来判断。

    这里就是怎样将查询到的数据放在表中,并将表打印出来 效果如上 最后,切记,使用完数据库操作以后,一定要把数据库关闭,并释放资源 这样,一次数据库的操作就完成了。

    C#对SQL数据库操作总结

    C#对SQL数据库操作总结 要对数据库进行查增删改操作,先要连接数据库,然后通过command类中相应方法或Dataset数据集中相应方法来完成对数据库的有关操作 一、创建数据库连接(SqlConnection类) 步骤:(1)定义连接字符串 (2)创建SqlConnection 对象 1. 两种用户登录连接字串(Windwos用户,SQL数据库用户) string connString = "Data Source=HP;Initial Catalog=Xk;Integrated Security=True";//windows 用户连接数据库字符串string connString ="Data Source=HP;Initial Catalog=xk;User ID=SA;PassWord=";//SQL用户连接字符串 2.创建SqlConnection 对象 方法一: SqlConnection conn = new SqlConnection(connString); //带连接字符串实例化SqlConnection 方法二: SqlConnection conn = new SqlConnection(); //实例化SqlConnection conn.ConnectionString=connString; //把连接字符串赋给conn对象的ConnectionString属性 3.打开连接 conn.open(); 4.关闭连接 conn.close();

    5.创建连接例子: string connString = "Data Source=HP;Initial Catalog=Xk;Integrated Security=True";//windows 用户连接数据库字符串SqlConnection conn = new SqlConnection(connString); //带连接字符串实例化SqlConnection conn.open(); 二、Sqlcommand类操作数据库 使用Command步骤: (1)创建数据库连接 (2)定义SQL 语句 (3)创建Command 对象 (4)执行命令 1、command类的构造方法 command类的常用构造方法有下面三种,使用不同的构造方法,创建对象的内容也有所不同 构造方法说明 SqlCommand() 不带参数的构造函数 SqlCommand(string commandText) 带命令字串的构造函数 SqlCommand(string commandText,SqlConnection mySqlConnection) 带命令字串及连接字串的构造函数

    PHP连接数据库实验

    实验项目:数据库技术及其应用 实验类型:设计 实验课时:4 实验目的:研究数据库技术及其应用 实验方案: 1 下载安装配置PHP集成安装包 安装最新的Visual C++运行库。从 https://www.wendangku.net/doc/1815499926.html,/phpstudy/phpStudy2017.zip 下载phpStudy2017。解压缩后安装。选择最新的PHP版本。设置web服务器根文件夹。修改MySQL 用户名和密码。 2 研究通过mysqli访问数据库 创建一个php文件,内容如下。分析页面的输出。

    数据库期末总结

    一基本概念(Basic Concepts) 1、数据库系统开发生命周期(database system development lifecycle) 1.Database planning 2.System definition 3.Requirements collection and analysis 4.Database design 5.DBMS selection (optional) 6.Application design 7.Prototyping (optional) 8.Implementation 9.Data conversion and loading 10.Testing 11.Operational maintenance. 2、数据库设计的三个主要步骤(three major steps of the database design) 1、概念设计 是整个数据库设计的关键,通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型 2、逻辑设计 将概念结构转化为某个DBMS所支持的数据模型,对其进行优化

    3、物理设计 为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法) 3、C/S和B/S c/s客户端/服务器 b/s浏览器/服务器 c/s般适合于软件开发对客户端计算机配置要求比较高 客户端也需要安装软件典型事例:qq b/s般适合于网站开发客户端只要安装浏览器完成操作 客户端基本上需要加载对于服务器端配置要求比较高 典型事例:网站erp系统 Two-Tier Client/Server Architecture(两层客户机/服务器体系结构): 客户机/服务器结构将应用一分为二,由服务器提供应用(数据)服务,多台客户机进行连接。1)“Fat”客户端,需要大量的资源在客户端进行高效运行 2)重要的客户端管理开销。 Three-Tier Client/Server Architecture: 在三层客户机/服务器结构中,由于数据访问是通过功能层进行的,因此客户端不再与数据库直接建立数据连接。也就是说,建立在数据库服务器上的连接数量将大大减少。 不需要昂贵的硬件,集中维护,修改不影响其他人,将业务逻辑与数据库函数使其容易实现负载平衡。很自然地映射到Web环境。 4、标识数据项(Identify the Data Items)

    php无法连接mysql问题解决方法总结

    php无法连接mysql问题解决方法总结 本文章总结了在php开发中可能会常常碰到的一些php连接不了mysql数据库的一些问题总结与解决方法分享,有需要的朋友可参考一下。 问题一 今天给本本装上mysql和php,一切安装都很正常(php@IIS7.5-fastCGI)。但用phpmyadmin连接测试时却出现“#2002无法连接”的错误,用其它程序也是同样问题。 检查了下,php的mysql扩展正确安装,mysql服务正常启动--那就奇了怪了。又用navicat连接,居然连上了。。看来是php和mysql间的通讯出了问题。 百度了一下,问题被揪出来了: mysql_connect()函数数据库服务器(server)参数当前设置为localhost,但当其更改为127.0.0.1后又可以正常访问。 系统hosts文件未提供127.0.0.1到localhost的解析。 解决方法(以win7系统为例):找到C:\Windows\System32\drivers\etc \hosts文件,默认为只读,你需要复制一份到其他路径如桌面,打开文件(打开方式:记事本),在文件末尾添加: 127.0.0.1 localhost 如果已存在去掉其前面的“#”。 问题二 php脚本可以正常运行,如phpinfo()。 只要一出现“mysql_connect”函数,就没反应,也不报错。 如 $conn = mysql_connect("127.0.0.1","root","xxxx") or die("MYSQL数据库连接失败:".mysql_error()); apache日志目录error.log中出现 PHP Warning: PHP Startup: Unable to load dynamic library 'c:\\php \\ext\\php_mysql.dll' 解决办法 将“libmysql.dll”复制到apache的bin目录下。然后重启,观察error.log,如果错误消失,那恭喜了。

    相关文档