草庐IT

mysqli_query

全部标签

php - mysqli 更新查询应该返回结果吗?

我正在将我的PHP代码从mysql更新到mysqli,但我似乎找不到这个问题的答案:Domysqliupdatequeriesreturnaresult?有了mysql,我可以做到$result=mysql_query("UPDATE`data`SET`field1`=1WHERE`key`='$mykey');即使查询没有返回任何行,$result也会为真。不过,现在,在mysqli代码中,我有类似这样的内容(为清楚起见,删除了错误处理):$stmt=$mysqli->prepare("UPDATE`data`SET`field1`=1WHERE`key`=(?)")$stmt->b

php - MYSQLi 错误 : User already has more than 'max_user_connections' active connections

这个问题在这里已经有了答案:Whatisthebestwaytominimizenumberofconnections?(1个回答)关闭1年前。我在运行的网站上出现以下错误。我不明白为什么会这样,因为它在我的本地主机上运行良好。跟楼主有关系吗?我在Unix服务器上。Warning:mysqli::mysqli()[mysqli.mysqli]:(42000/1203):Userdbo343879423alreadyhasmorethan'max_user_connections'activeconnectionsin/homepages/9/d322397966/htdocs/dump

php - mysqli 最后插入 id

我想将图像与名字、姓氏相关联...如何检索最后一行并使用它插入到另一个表中?我尝试了$image=$mysqli->insert_id;然后绑定(bind),但它不起作用。有人可以帮帮我吗?$image=$mysqli->insert_id;//thisshouldcomefromtable2$stmt=$mysqli->prepare("insertintotable1(username,firstname,lastname,image)select?,?,?,imagefromtable2t2whereusername=?andt2.id=?");$stmt->bind_param

mysql - 导出数据库时 'Maximal length of created query' 是什么

我正在使用phpMyAdmin我想从数据库中导出所有数据。“创建查询的最大长度”属性是否会影响您导出的数据量? 最佳答案 不,它没有。它确实会在一定程度上影响导出文件的大小。唯一发生的事情是它限制了每个INSERT语句插入的行数。所以你最终会得到更多、更小的语句。Here来自他们wiki的一些信息:Theoption'Maximallengthofcreatedquery'seemstobeundocumented.ButexperimentshasshownthatitsplitslargeextendedINSERTSsoeac

php - 执行 mysqli->set_charset() 的永久方法?

在将我能找到的字符集的所有配置文件和运行时选项设置为utf-8后,使用php建立的新mysqli连接仍将其字符集设置为latin1,这实际上意味着我必须调用$mysqli->set_charset('utf8')每次连接时。$mysqli=newmysqli(DB_HOST,DB_USER,DB_PASS,DB_NAME);if($mysqli->connect_error)err_handle("mysqlconnecterror({$mysqli->connect_errno}).");if(!$mysqli->set_charset("utf8"))err_handle("dbe

php - 如何在一个 mysql_query 中执行多个 SQL 语句?

假设我想执行UPDATEtableSETname='bob'和UPDATEtableSETage=55WHEREname='jim'我如何在相同的mysql_query()?编辑:由于这个问题有很多观点,我想指出从PHP5.5mysql_query和其他mysql_*函数现已弃用,不应使用。 最佳答案 我从未尝试过,但我认为您可以使用mysqli::multi_query.mysql_query拒绝多个语句的好处之一是它立即排除了一些更常见的SQL注入(inject)攻击,例如添加';DELETEFROM...#到一个语句。因此,您

php - 什么时候应该使用 MySQLi 而不是 MySQL?

有人可以为我阐明使用MySQLi而不是MySQL的优点和缺点吗?有没有我不应该使用MySQLi的情况?我是否需要以不同方式配置我的服务器才能使用MySQLi?例如,我是否需要升级Apache或PHP才能支持MySQLi? 最佳答案 您应该使用MySQLi扩展而不是MySQL扩展的原因有很多:MySQLi为您提供准备好的语句-一种将数据发送到MySQL并保护您免受SQL注入(inject)的更安全方式。仅此一项就足以让您始终选择MySQLi而不是MySQL。MySQLi支持大多数MySQL功能。MySQLi是面向对象的。MySQLi支

mysql - Importing 1GO SQL File => ERROR 2013 (HY000) at line 23 : Lost connection to MySQL server during query

我必须导入1go的sql数据,我将max_allowed_pa​​cket提高到1100M以确保。所以我使用:我的查询mysql-uroot-p-Dmainbase但1分钟后它在此过程中停止,我收到此错误:**ERROR2013(HY000)atline23:LostconnectiontoMySQLserverduringquery**LostconnectiontoMySQLserverduringquery**** 最佳答案 可能您有一些大于最大大小的大型插入语句。检查您的/etc/mysql/my.cnf文件或任何地方。不记

mysql - MySQL LIKE Query中使用OR比较多个字段

我一直认为您可以在LIKE语句中使用OR来查询MySQL中的内容。因此,如果我想将一行中的多个字段与1个关键字或术语进行比较:SELECT*FROMMyTableWHEREColumn1ORColumn2LIKE'%keyword%';如果我要比较一组单词:SELECT*FROMMyTableWHEREColumn1ORColumn2LIKE'%keyword1%'ANDColumn1ORColumn2LIKE'%keyword2%';但是,我不认为语法是正确的。除了像这样的东西之外,是否有一种有效的方法来写这个:SELECT*FROMMyTableWHEREColumn1LIKE'%

java - NonUniqueDiscoveredSqlAliasException : Encountered a duplicated sql alias [ASC_ID] during auto-discovery of a native-sql query

我有三个表CREDENTIAL_USER、CREDENTIAL_EXPIRATION和ASC_DETAILS-看起来像:CREDENTIAL_USER{ASC_ID,name,ITEM},CREDENTIAL_USER{MONTH,YEAR,ASC_ID}和ASC_DETAILS{ASCID,NAME,ROLE}。我执行了一个简单的nativeSQL连接,仅选择CREDENTIAL_USER.ASC_ID和ASC_DETAAILS.ASCID作为:Queryquery=entityManager.createNativeQuery("SELECTad.ASCID,ad.NAME,ad.