使用php链接mysql数据库的时候报错了,错误提示:Warning: mysqli::__construct(): (HY000/2002):$result = mysqli_query($connect, $query)or die ('Error querying database.');这句话后面加上. mysqli_error($connect ))即改为:
$result = mysqli_query($connect, $query)or die ('Error querying database.'. mysqli_error($connect )));
查看一下返回什么错误描述 , 然后根据错误描述进行修改 , 当然也可以查看mysql的错误日志啦
ps:光从代码上没看出错误,有可能数据库里的字段名你写错了
php 5.3.5连接数据库报错先来看看PHP5.3以前php设置数据库主键错误的mysql_query这个函数
resource mysql_query ( string $query [, resource $link_identifier] )
这里的$link_identifier是可选的php设置数据库主键错误 , 如果你没写,那么就会自动调用上一个使用mysql_connect的连接
而PHP5.3必须要加这个连接参数
所以你应该这样使用php设置数据库主键错误:
$link = mysql_connect('localhost:3306', 'db_user', 'db_pwd');
这里建立一个数据库的连接
然后每次使用mysql_query的使用你都应该把$link带上 , 如php设置数据库主键错误:
mysql_query('SQL语句', $link);
这样就不会出错php设置数据库主键错误了,你可以封装成一个类 , 在类结束的时候自动关闭连接
php连接mysql数据库,报错Function mysql_connect() is deprecated?info.php在CentOS
64位虚拟机运行的时候,其中MySQL版本那一栏是空白信息 。我查看了info.php源码,开始以为是MySQL数据库的用户名和密码填写错了,仔细检查没有错误之后,便查看了Apache的error_log,得到如下消息:
mysql_connect():
No
such
file
or
directory
在网上查了一下,说是本地socket设置与默认的不一样,导致php无法找到mysql的socket文件 。根据网上提供的方法,需要做如下操作 。
首先,在MySQL中用status查看数据库状态 , 如下所示:
mysql
Ver
14.14
Distrib
5.1.69,
for
redhat-Linux-gnu
(x86_64)
using
readline
5.1
Connection
id:
10
Current
database:
Current
user:
root@localhost
SSL:
Not
in
use
Current
pager:
stdout
Using
outfile:
''
Using
delimiter:
;
Server
version:
5.1.69
Source
distribution
Protocol
version:
10
Connection:
Localhost
via
UNIX
socket
Server
characterset:
latin1
Db
characterset:
latin1
Client
characterset:
latin1
Conn.
characterset:
latin1
UNIX
socket:
/var/lib/mysql/mysql.sock
Uptime:
20
hours
55
min
30
sec
其中 , 标红的部分是我们需要的 。然后打开php.ini文件,需要将mysql.default_socket、mysqli.default_socket、pdo_mysql.default_socket的值设置为标红后面的那个目录 。重启apache服务器 , 后续info.php工作正常,MySQL的版本信息能够正常显示了 。
pHP链接数据库报错Warning: mssql_connect() [function.mssql-connect]: message: 用户 'NT AUTHORITY\IU之前我刚遇到过这类问题 。
使用php链接mssql出错,但是代码没有问题,本机测试正常 , 上传到服务器又不行 。
如果是这种情况,请参照下面的步骤 。
1、运行 SQL Server 配置管理器:SQL Server Configuration Manager,打开协议 Protocols
,允许命名管道 "named pipes" 和 "tcp/ip",右键点击 "tcp/ip",打开属性 Properties 标签 "IP addresses",在 TCP 动态端口 "TCP Dynamic Ports" 填入 1433 (其实只要填0就表示开启了动态端口)
2、下载正确版本的 ntwdblib.dll (2000.80.194.0) , 地址:,覆盖 php\ntwdblib.dll (mssql2005,mssql2008等等对应的ntwdblib.dll文件版本不同,请参照自己的mssql版本下载对应文件 。)
3、php.ini有个mssql的设置 mssql.secure_connection 改成 off 。(我就因为这个弄了好久,ON的意思是使用安全连接 , 实际上是使用nt账户登录,并非使用mssql账户登录 。一般我们远程连接都是使用mssql账户登录)
php 使用类连接数据库报错Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocFatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 24576 bytes) in D:\wamp\www\ckly.php on line 43
从错误提示来看,是指php设置的8M内存已经耗尽 。
但错误提示的 ckly.php 第 43 行,这个错误的行号比较奇怪 , 从你给出的源代码来看这个43行是不存在的 。
由于本地没有mssql环境,不能测试,以下是我用mysql环境编写的代码,经测试通过运行正常,供参考:
?php
class db_mysql
{
private $host;
private $dbbase;
private $dbpassword;
private $conn;
function __construct($host, $dbbase, $dbpassword)
{
$this-host = $host;
$this-dbbase = $dbbase;
$this-dbpassword = $dbpassword;
$this-connnect();
}
//进行连接
function connnect()
{
//打开连接
$this-conn = mysql_connect($this-host, $this-dbbase, $this-dbpassword) or die("连接失败");
mysql_select_db('books', $this-conn) or die("连接数据库失败");
}
function showdata()
{
$rows = mysql_query('SELECT * FROM customers',$this-conn);
echo 'table border="1"trtd姓名/tdtd年龄/td/tr';
while($row = mysql_fetch_assoc($rows)){
echo 'trtd'.$row['name'].'/td';
echo 'td'.$row['address'].'/td/tr';
}
}
}
$p = new db_mysql('localhost', 'test', 'test'); //进行实例化
$p-showdata();
?
php mysql数据库创建错误确定mysql连接成功了?$con = mysql_connect("localhost","zjwdb_106471","iwantyou") or exit("数据库连接失败");用这句测试一下吧,若确认连接成功 , 把这句(mysql_query("CREATE DATABASE my_db",$con)中的$con去掉试试吧,mysql_query是可以不用句柄的 。
【php设置数据库主键错误 php数据库设计】php设置数据库主键错误的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于php数据库设计、php设置数据库主键错误的信息别忘了在本站进行查找喔 。
推荐阅读
- 斗鱼平台直播无全屏无弹幕,斗鱼直播全屏的时候不显示弹幕是怎么回事
- 动物餐厅安卓自动点击器,动物餐厅自动点击器设置参数
- linux命令包,linux命令安装包
- 大学生新媒体如何管理工作,大学生新媒体如何管理工作
- mysql怎么设置长度 mysql字段设置
- SAP咨询是什么工作,sap 咨询
- 硬盘怎么设置不分区格式,如何让硬盘不分区
- 没文化的开什么直播卖货,没文化可以做直播吗
- oracle游标怎么长度 oracle游标的使用详解