mysql query error

知识
李进老师 2019-07-17 16:50:39

解决方案如下:
1. 进入管理mysql的phpmyadmin
2. 在左则选中自己的数据库
3. 在右则勾选中错误信息中的那个’wxpetdata’表
4. 滚动屏幕到下面,有个下拉菜单(With selected:),选择”Repair table”

#mysql query error#

返回顶部

影响力:1889

中易广告联盟点击广告出现MySQL query sql error?

描述: 中易广告联盟点击广告出现MySQLquerysqlerror?是PHP5.3加MY5.1,请问那里出问题... 中易广告联盟点击广告出现MySQL query sql error?是PHP5.3加MY5.1,请问那里出问题
这个解答帮助过8932人
编辑时间 2019-11-02 09:11:28
影响力:1049

为什么总提示:Fatal error: Uncaught Error: Call to undefined function mysql_query() in,错在哪里?

描述: 为什么总提示:Fatalerror:UncaughtError:Calltoundefinedfunctionmysql_query()in,请大侠帮忙这到底错在哪里?<?phpfor($i=1;$i<substr_count(str_replace("/oa/","/",$_SERVER['PHP_... 为什么总提示:Fatal error: Uncaught Error: Call to undefined function mysql_query() in,请大侠帮忙这到底错在哪里?
<?php
for($i=1;$i<substr_count(str_replace("/oa/","/",$_SERVER['PHP_SELF']),'/');$i++){$r .= "../";}
include $r."conn/conn.php";
include $r."inc/chec.php";
?>
<?php
echo "<table border=1>";
echo "<tr><td>ID</td><td>部门ID号</td><td>部门名称</td><td>上级部门</td><td>公司ID号</td><td>修改</td><td>删除</td></tr>";
$sqlstr = "select id,department_id,department_name,parent_department_id,company_id * from m_department order by ID desc";
$result = mysql_query($sqlstr,$conn);
while($rows = mysql_fetch_object($result,MYSQL_BOTH)){
?>
<tr><td><?php echo $rows['id']?></td><td><?php echo $rows['department_id']?></td><td><?php echo $rows['department_name']?></td><td><?php echo $rows['parent_department_id']?></td><td><?php echo $rows['company_id']?></td><td>修改</td><td>删除</td></tr>";
<?php
}
echo "</table>";
?>
抱歉,没有财务值了,就这几个,有会的麻烦帮帮忙啊
展开
这个解答帮助过6974人

从报错的字面意思来讲,你程序里使用的mysql_query()函数,并没有定义。建议你先去找找这个函数在哪里定义的,为什么你的编译器没找到这个函数。

追问

麻烦提示一下,这个定义一般是要去哪里找?

编辑时间 2018-12-07
影响力:5746

帝国备份王恢复数据库页面错误Fatal error: Uncaught Error: Call to undefined function mysql_query()

描述: Fatalerror:UncaughtError:Calltoundefinedfunctionmysql_query()inC:\Apache24\htdocs\diguo\class\db_sql.php:12Stacktrace:#0C:\Apache24\htdocs\diguo\ReData.php(24):mysqlquery... Fatal error: Uncaught Error: Call to undefined function mysql_query() in C:\Apache24\htdocs\diguo\class\db_sql.php:12 Stack trace: #0 C:\Apache24\htdocs\diguo\ReData.php(24): mysqlquery->query('SHOW DATABASES') #1 {main} thrown in C:\Apache24\htdocs\diguo\class\db_sql.php on line 12 展开
这个解答帮助过4245人

您好,有可能是因为php版本的原因,这个问题概括起来说就是你的PHP不支持mysql_connect()函数。为什么呢?这是由于PHP是一种模块化的设计,除了核心的内容,其他都是可选的。之所以不支持,是因为在编译PHP时没有加入对MYSQL数据库的支持。

编辑时间 2019-03-28
影响力:1255

高手帮忙看看,mysql这句代码哪错了? php5.3里面用mysql_query()

描述: 高手帮忙看看,mysql这句代码哪错了?php5.3里面用mysql_query()INSERTINTOfiles(uname,name,desc,fileid,fname)VALUES('$uname','$name','$desc','$fileid','$fname');... 高手帮忙看看,mysql这句代码哪错了?
php5.3里面用mysql_query()INSERT INTO files (uname,name,desc,fileid,fname) VALUES ('$uname','$name','$desc','$fileid','$fname');
这个解答帮助过3845人

这样写INSERT INTO files (uname,name,desc,fileid,fname) VALUES ("$uname","$name","$desc","$fileid","$fname");单引号不解析变量的

编辑时间 2019-07-29
影响力:7543

mysql一般都要根据返回值判断是否执行成功,那么update成功和没有修改都是0,怎么办

描述: 内容相同,update也会是0我怎么使用返回值判断是否成功,万一有的客户就是什么都没改就提交了呢... 内容相同,update也会是0 我怎么使用返回值判断是否成功,万一有的客户就是什么都没改就提交了呢
这个解答帮助过3164人

PHP中如果不判断sql执行是否成功,就弹出成功提示框,往往会造成虚假注册,实际表单内容没有提交进入数据库。判断sql语句是否执行成功主要用到的函数为mysql_affected_rows() 返回前一次 MySQL 操作所影响的记录行数。
执行成功,则返回受影响的行的数目,如果最近一次查询失败的话,函数返回 -1。 如果最近一次操作是没有任何条件(WHERE)的 DELETE 查询,在表中所有的记录都会被删除,但本函数返回值在 4.1.2 版之前都为 0。 当使用 UPDATE 查询,MySQL 不会将原值与新值一样的列更新。这样使得 mysql_affected_rows() 函数返回值不一定就是查询条件所符合的记录数,只有真正被修改的记录数才会被返回。 下面看两个例子:例一:
$rs=MySQL_query($sql);
if(mysql_affected_rows())
echo "sql执行成功";elseecho "sql执行失败";例二:<?php/* 连接数据库 */
mysql_pconnect("localhost", "mysql_user", "mysql_passWord") or
die ("Could not connect" . mysql_error());
mysql_select_db("mydb");
/* Update 记录 */
mysql_query("UPDATE mytable SET used=1 WHERE id < 10");

编辑时间 2019-04-10
影响力:1366

Mysql数据库中,事务是指什么?如何使用该功能?

这个解答帮助过7941人

什么是事务?

事务是逻辑上的一组操作,组成这组操作的各个单元,要不全都成功要不全都失败,这个特性就是事务

注意:mysql数据支持事务,但是要求必须是innoDB存储引擎

解决这个问题:

mysql的事务解决这个问题,因为mysql的事务特性,要求这组操作,要不全都成功,要不全都失败,这样就避免了某个操作成功某个操作失败。利于数据的安全

如何使用:

(1)在执行sql语句之前,我们要开启事务 start transaction;

(2)正常执行我们的sql语句

(3)当sql语句执行完毕,存在两种情况:

1,全都成功,我们要将sql语句对数据库造成的影响提交到数据库中,committ

2,某些sql语句失败,我们执行rollback(回滚),将对数据库操作赶紧撤销

(注意:mysql数据支持事务,但是要求必须是innoDB存储引擎)
mysql> create table bank(name varchar(20),money decimal(5,1))engine=innodb defau
lt charset=utf8;

mysql> inset into bank values('shaotuo',1000),('laohu',5000);

mysql> select*from bank;
+---------+--------+
| name | money |
+---------+--------+
| shaotuo | 1000.0 |
| laohu | 5000.0 |
+---------+--------+

------没有成功“回滚”执行rollback
mysql> start transaction; //开启事务
Query OK, 0 rows affected (0.00 sec)

mysql> update bank set money=money+500 where name='shaotuo';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> update bank set moey=money-500 where name='laohu';
ERROR 1054 (42S22): Unknown column 'moey' in 'field list'
mysql> rollback; //只要有一个不成功,执行rollback操作
Query OK, 0 rows affected (0.01 sec)

mysql> select*from bank;
+---------+--------+
| name | money |
+---------+--------+
| shaotuo | 1000.0 |
| laohu | 5000.0 |
+---------+--------+
------成功之后 进行commit操作
mysql> start transaction; //开启事务
Query OK, 0 rows affected (0.00 sec)

mysql> update bank set money=money+500 where name='shaotuo';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> update bank set money=money-500 where name='laohu';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> commit; //两个都成功后执行commit(只要不执行commit,sql语句不会对真实的数据库造成影响)
Query OK, 0 rows affected (0.05 sec)

mysql> select*from bank;
+---------+--------+
| name | money |
+---------+--------+
| shaotuo | 1500.0 |
| laohu | 4500.0 |
+---------+--------+

编辑时间 2019-02-01
影响力:3546

PHP mysql 不能插入数据到数据库表里?

描述: <!DOCTYPEhtml><?phperror_reporting(0);if(!$_POST['name']){?><html><head><metacharset="utf-8"/><title>学生档案管理系统------------记录添加页</title><metaname="viewport"con... <!DOCTYPE html>
<?php
error_reporting(0);
if(!$_POST['name'])
{
?>
<html>
<head>
<meta charset="utf-8" />
<title>学生档案管理系统------------记录添加页</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<script language="javascript">
function Juge()
{
if(form1.name.value=="")
{
alert("请输入姓名!");
form1.name.value.focus();
return false;
}
if(form1.s_id.vlaue=="")
{
alert("请输入学号! ");
form1.s_id.focus();
return false;
}
}
</script>
</head>
<body>
<center>
<h1>学生档案管理系统----------------记录添加页</h1>
<a href="14-21.php">返回首页</a>
<table border="1">
<form action="<?php echo $PATH_INFO ?>" name="form1" method="post" onsubmit="return Juge()">
<tr>
<td>输入姓名:</td>
<td><input name="name" type="text" ></td>
</tr>
<tr>
<td>输入性别:</td>
<td><input name="sex" type="radio" value="男" checked >男
<input name="sex" type="radio" value="女" >女</td>
</tr>
<tr>
<td>出生日期:</td>
<td><select name="b_y"><?php for($i=1980; $i<2030;$i++)
echo "<option value=".$i.">".$i."\n"; ?>
</select>年
<select name="b_m"><?php for($i=1;$i<13;$i++)
echo "<option value=".$i.">".$i."\n"; ?>
</select>月
<select name="b_d"><?php for($i=1;$i<32;$i++)
echo "<option value".$i.">".$i."\n"; ?>
</select>日 </td>
</tr>
<tr>
<td>输入学号: </td>
<td><input name="s_id" type="text" ></td>
</tr>
<tr>
<td>监护人姓名: </td>
<td><input name="parent" type="text"></td>
</tr>
<tr>
<td>家庭电话:</td>
<td><input name="phone" type="text" ></td>
</tr>
<tr>
<td>家庭住址:</td>
<td><input name="address" type="text" ></td>
</tr>
<tr>
<td colspan="2"><center><input type="submit" value="确定">
<input type="reset" value="重置"></center></td>
</tr>
</form>
</table>

<?php
}
else
{
header("content-type:text/html;charset=utf-8");
$name=$_POST['name'];
$sex=$_POST['sex'];
$birthday=$_POST['b_y']."年".$_POST['b_m']."月".$_POST['b_d']."日";
$s_id=$_POST['s_id'];
$parent=$_POST['parent'];
$phone=$_POST['phone'];
$address=$_POST['address'];
require ('14-19.php');
$link=mysql_connect($host_name,$db_user,$db_pass)or die("不能连接到服务器".mysql_error());
mysql_select_db($db_name,$link);
$sql="INSERT INTO $table_name (name,sex,birthday,s_id,parent,phone,address) VALUES ('$name','$sex','$birthday','$s_id','$parent','$phone',$address')";
mysql_query($sql,$link);
echo $sql;
?>
已经成功添加记录。两秒后返回。
<?php } ?>
问题已经解决了,
展开
这个解答帮助过2272人

INSERT INTO msg(title,contents,dates) VALUES ($title,$cons,now())
将字段名两边的单引号去掉就没问题了,亲测成功!希望能帮到你。

编辑时间 2019-08-11
影响力:383

mysql索引名太长怎么办

这个解答帮助过574人

1. 数据库版本:阿里云RDS MySQL5.1
mysql> select @@version;
+-------------------------------+
| @@version |
+-------------------------------+
| 5.1.61-Alibaba-rds-201404-log |
+-------------------------------+
1 row in set (0.00 sec)

2. 测试的表结构信息
mysql> show create table tb2\G
*************************** 1. row ***************************
Table: tb2
Create Table: CREATE TABLE `tb2` (
`a` varchar(255) DEFAULT NULL,
`b` varchar(255) DEFAULT NULL,
`c` varchar(255) DEFAULT NULL,
`d` varchar(1000) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

3. 测试加索引
(1)添加单列索引,能够添加成功(报出warning),但实际添加的是前缀索引。
mysql> alter table tb2 add index idx1 (d);
Query OK, 0 rows affected, 2 warnings (0.00 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> show warnings;
+---------+------+----------------------------------------------------------+
| Level | Code | Message |
+---------+------+----------------------------------------------------------+
| Warning | 1071 | Specified key was too long; max key length is 1000 bytes |
| Warning | 1071 | Specified key was too long; max key length is 1000 bytes |
+---------+------+----------------------------------------------------------+
2 rows in set (0.00 sec)
表结构信息:
mysql> show create table tb2\G
*************************** 1. row ***************************
Table: tb2
Create Table: CREATE TABLE `tb2` (
`a` varchar(255) DEFAULT NULL,
`b` varchar(255) DEFAULT NULL,
`c` varchar(255) DEFAULT NULL,
`d` varchar(1000) DEFAULT NULL,
KEY `idx1` (`d`(333))
) ENGINE=MyISAM DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

(2)添加组合索引,会执行失败。
mysql> alter table tb2 add index idx1 (a,b);
ERROR 1071 (42000): Specified key was too long; max key length is 1000 bytes
4. 分析
myisam存储引擎在创建索引的时候,索引键长度是有一个较为严格的长度限制的,所有索引键最大长度总和不能超过1000,而且不是实际数据长度的总和,而是索引键字段定义长度的总和。
主要字符集的计算方式:
latin1 = 1 byte = 1 character
uft8 = 3 byte = 1 character
gbk = 2 byte = 1 character

编辑时间 2018-12-04
影响力:7263

mysql general log如何按日期保存

描述: mysqlgenerallog如何按日期保存。general_log=ongeneral_log_file=D:/mysqllog/query.log就是这个general_log_file的路径,要怎么写,才能自动按每天或每小时来保存query.log,比如qu... mysql general log如何按日期保存。
general_log=on
general_log_file=D:/mysqllog/query.log
就是这个general_log_file的路径,要怎么写,才能自动按每天或每小时来保存query.log,比如query20180407.log,query20180408.log,不然文件太大了,无法打开。
展开
这个解答帮助过2815人

Windows:Windows 的配置文件为 my.ini,一般在 MySQL 的安装目录下或者 c:Windows 下。
Linux:Linux 的配置文件为 my.cnf ,一般在 /etc 下。

大家也可以用下面的命令查一下(如果不是LNMP,路径可能不同):
代码如下

du -h --max-depth=1 /usr/local/mysql/var/*

如果看到大量大文件,且名为 mysql-bin.000014 这样的,说明你也需要关闭日志文件,因为你不知道哪一天它们会把你VPS的硬盘塞满。
用WINSCP把这些文件删除吧。
如何关闭:
代码如下

vi /etc/my.cnf

找到:
代码如下

log-bin=mysql-bin
binlog_format=mixed

将这两行注释掉,前面加上#
然后保存。
最后用下面的指令重启下LNMP。收工。
代码如下

/root/lnmp restart

linux中还有另一种办法

关闭mysql日志功能
1、进去mysql
代码如下

[root@localhost ~]# mysql -u root -p
Enter password:

2、查看日志文件
代码如下

mysql> show master logs;

会出现好多mysql-bin.0000*文件哦 这些都是日志文件
注:如果出现ERROR 1381 (HY000): You are not using binary logging 则说明你的日志文件已经关闭啦
3、关闭mysql日志文件
代码如下

mysql> reset master; //关闭日志

mysql> show master logs; //查看是否还有日志

mysql> exit;
Bye

4、修改mysql配置文件my.cnf。找到log-bin=mysql-bin、binlog_format=mixed 在前面加注释即可
5、重新启动mysql ok

编辑时间 2019-04-07