装MySQL数据库时出现一个错误这怎么解决

装MySQL数据库时出现一个错误这怎么解决,第1张

php+mysql数据时我们必须保证提交到数据库的编码与mysql编码是一致的这样才可以保存中文不出现问号乱码问题,下面我先整理两个让mysql与页面保证编码一致的方法。

解决中文插入数据库乱码的方法:

直接把中文转变成utf-8格式,大多是这个问题导致的。

代码如下复制代码

$str

=

iconv('gbk','utf-8',$str)

如果还不行检查网页编码是否正确:

代码如下复制代码

<?php

header("Content-Type:text/htmlcharset=utf-8")

?>

建表:

代码如下复制代码

Create

TABLE

`net_city`

(

`cityid`

smallint(4)

NOT

NULL

auto_increment,

`cityname`

varchar(80)

NOT

NULL

default

'',

`provinceid`

smallint(2)

NOT

NULL

default

'0',

`inarea`

varchar(5000)

NOT

NULL

default

'',

`outarea`

varchar(5000)

NOT

NULL

default

'',

`tel`

varchar(400)

NOT

NULL

default

'',

PRIMARY

KEY

(`cityid`)

)

ENGINE=MyISAM

DEFAULT

CHARSET=utf8

PHP里的代码:

$conn=mysql_connect("localhost",

"用户名",

"密码")

mysql_query("set

names

'utf8'",$conn)

mysql_select_db("

www.111cn.net

数据名",$conn)

$exec="insert

into

net_city

(cityname,inarea,outarea,tel)

values

('".$link_cityname."','".$link_inarea."','".$link_outarea."','".$link_tel."')"

$result=mysql_query($exec,$conn)

if($result){

echo

"1"

}else{

echo

"0"

}

mysql_close($conn)

后来我试了试全部都用成gbk的,也是可以的~

在查询数据时我们直接使用mysql_query()来设置

mysql_query("SET

NAMES

GBK")

//GBK处为编码设置

例子

下面是

"insert.php"

页面的代码:

代码如下复制代码

<?php$con

=

mysql_connect("localhost","peter","abc123")

if

(!$con)

{

die('Could

not

connect:

'

.

mysql_error())

}

mysql_select_db("my_db",

$con)

mysql_query("SET

NAMES

GBK")

//GBK处为编码设置

$sql="INSERT

INTO

person

(FirstName,

LastName,

Age)VALUES('$_POST[firstname]','$_POST[lastname]','$_POST[age]')"

if

(!mysql_query($sql,$con))

{

die('Error:

'

.

mysql_error())

}

echo

"1

record

added"

mysql_close($con)

?>

这篇文章主要介绍了PHP同时连接多个mysql数据库的具体实现,需要的朋友可以参考下

实例:

代码如下:

<?php

$conn1

=

mysql_connect("127.0.0.1",

"root","root","db1")

mysql_select_db("db1",

$conn1)

$conn2

=

mysql_connect("127.0.0.1",

"root","root","db2")

mysql_select_db("db2",

$conn2)

$sql

=

"select

*

from

ip"

$query

=

mysql_query($sql)

if($row

=

mysql_fetch_array($query))

echo

$row[0]."n"

$sql

=

"select

*

from

web

"

$query

=

mysql_query($sql)

if($row

=

mysql_fetch_array($query))

echo

$row[0]

?>

这段代码存在问题,在程序执行时会报错:PHP

Warning:

mysql_fetch_array()

expects

parameter

1

to

be

resource,

boolean

given

in

....

原因分析:

程序开始建立两个数据库链接,函数mysql_query()原型:

resource

mysql_query

(

string

$query

[,

resource

$link_identifier

]

)

向与指定的连接标识符关联的服务器中的当前活动数据库发送一条查询。如果没有指定

link_identifier,则使用上一个打开的连接。如果没有打开的连接,本函数会尝试无参数调用

mysql_connect()

函数来建立一个连接并使用之。查询结果会被缓存。

在本例中由于没有指定link_identifier,所以,在执行第一条sql时,默认使用的是上一个打开的链接,即$conn2,而实际上第一条sql语句应该使用的是$conn1,所以导致报错,所以为了能够链接多个mysql数据库,可以使用如下方法:

方法1:在mysql_query函数中指定所用连接,即:

代码如下:

<?php

$conn1

=

mysql_connect("127.0.0.1",

"root","root","db1")

mysql_select_db("Muma",

$conn1)

$conn2

=

mysql_connect("127.0.0.1",

"root","root","db2")

mysql_select_db("product",

$conn2)

$sql

=

"select

*

from

ip"

$query

=

mysql_query($sql,$conn1)

//添加连接$conn1

if($row

=

mysql_fetch_array($query))

echo

$row[0]."n"

$sql

=

"select

*

from

web

"

$query

=

mysql_query($sql,

$conn2)

if($row

=

mysql_fetch_array($query))

echo

$row[0]

?>

方法2:在sql语句中关联所用数据库,此时可以省略mysql_query的第二个参数,即:

代码如下:

<?php

$conn1

=

mysql_connect("127.0.0.1",

"root","root","db1")

mysql_select_db("db1",

$conn1)

$conn2

=

mysql_connect("127.0.0.1",

"root","root","db2")

mysql_select_db("db2",

$conn2)

$sql

=

"select

*

from

db1.ip"

//关联数据库

$query

=

mysql_query($sql)

if($row

=

mysql_fetch_array($query))

echo

$row[0]."n"

$sql

=

"select

*

from

db2.web

"

$query

=

mysql_query($sql)

if($row

=

mysql_fetch_array($query))

echo

$row[0]

?>

PHP访问MySQL数据库:

因为连接数据库需要较长的时间和较大的资源开销,所以如果在多个网页中都要频繁地访问数据库,则可以建立与数据库的持续连接。即调用mysql_pconnect()代替mysql_connect()。

基本步骤:

1.连接服务器:mysql_connect()

2.选择数据库:mysql_select_db()

3.执行SQL语句:mysql_query()

查询:select

显示:show

插入:insert

into

更新:update

删除:delete

4.关闭结果集:mysql_free_result($result)

5.关闭数据库:mysql_close($link)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8628182.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-19
下一篇2023-04-19

发表评论

登录后才能评论

评论列表(0条)

    保存