草庐IT

mysqli_query

全部标签

php - 如何在 Mysqli 准备语句中使用 PHP 常量

我正在构建一个包含大量数据库查询的API。为了避免在每个查询中重复一些预先建立的值,我创建了一些PHP常量。但是我不确定将它们包含在Mysqli准备好的语句中的正确方法。我知道常量不能通过引用传递。所以我想知道我是否应该为包含常量的查询创建一个变量,或者我是否可以直接将带有常量的字符串传递给prepare()函数。所以我这样做是没问题的,还是我应该创建一个变量并在调用prepare()之前将字符串存储在那里?$stmt=$this->conn->prepare("SELECTcityFROMmastersWHEREemail=?ANDestado!='".STATE_INACTIVE.

php - sql multi query 可以被认为是原子指令吗?

对于php实现的观点,multi_query是数据库上的原子指令还是它所做的只是顺序执行所有查询?谢谢。 最佳答案 它按顺序执行查询。 关于php-sqlmultiquery可以被认为是原子指令吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3335460/

phpmyadmin - 我在 phpmyadmin 中注意到 "Maximal length of created query"有一个 mysqldump 选项吗?

当我尝试重新导入使用mysqldump创建的数据库时,出现服务器已消失的错误。当我从phpmyadmin导出时,我没有收到该错误。我正在尝试使用mysqldump模拟phpmyadmin导出输出。phpmyadmin将“创建查询的最大长度”设置为50000。这在mysqldump命令中转换为什么选项?这是我目前所拥有的:mysqldump-uusername-ppass>backup.sql 最佳答案 这将限制生成的查询的长度。--net-buffer-length5000 关于phpm

mysql - Sphinx 主/增量索引,sql_query_killlist

我目前正在使用Sphinx为包含20多万条记录的MySQL查询建立索引。我正在使用增量索引来更新主索引并添加所有新记录。不幸的是,对表的所有更改都被删除了。我知道我可以使用sql_query_killlist来获取所有需要删除或更新的文档ID。不幸的是,我不明白这实际上是如何工作的,而且Sphinx的文档没有足够好的例子让我理解。如果我使用下面的例子,我该如何实现killlist?在MySQL中CREATETABLEsph_counter(counter_idINTEGERPRIMARYKEYNOTNULL,max_doc_idINTEGERNOTNULL);在sphinx.conf中

MySQL 查询 : Query All Entries Older Than 1 Year

我正在LibreOffice中为一家非营利性慈善机构构建一个成员(member)数据库,但我没有mysql查询方面的经验,因此非常感谢您的帮助。我正在尝试创建一个查询,以显示成员(member)注册日期字段(PaymentDate)早于当前日期1年的所有记录AND一个bool值另一个字段(AwaitingRenewal)的值为NO。日期采用05/03/85格式。感谢您能给我的任何帮助! 最佳答案 你可以这样做:select*from`members`where`paymentDate`

php - 学习mysqli和pdo

我是一个php和mysql初学者,目前正在学习“使用php从web访问mysql数据库”一节,在这本书中,作者只使用了mysqli的例子,但是当我搜索谷歌时,我发现pdo比mysqli好一些,我的问题是:我应该逃避书中的mysqli并且只学习pdo(来自网络)吗? 最佳答案 是的,绝对直接进入PDO。首先,要知道在从客户端获取输入时,您几乎应该始终执行参数化查询。PDO在这方面要容易得多。(我说“几乎”是因为有时您可以通过PHP将客户端与数据库100%分开)其次,PDO更加紧凑,因此它需要的代码行数要少得多。Aretheregood

PHP SQL防止重复用户名: Catching Exception vs Select Query

这个问题在这里已经有了答案:Howtopreventduplicateusernameswhenpeopleregister?(4个答案)关闭去年。为了防止将重复的用户名输入数据库并通知用户,插入时使用异常捕获还是插入前选择查询更标准/更喜欢?异常捕获:如果我尝试插入用户输入并且用户名已经存在,则SQL数据库将抛出一个违反主键约束的异常。如果发生这种情况,我可以捕获它并做任何事情。选择查询:如果它返回与用户名匹配的任何元组,那么我就不会为插入而烦恼。然后我可以显示错误消息。我想在这里使用异常的主要优点是查询和行数更少(速度更快?)。但是,我认为这不是特例,因为重复项可能经常出现。

php - PDO 向 MySQL 发送原始查询,而 Mysqli 发送准备好的查询,两者产生相同的结果

我开始知道使用MySQLi和PDO时准备好的语句是如何工作的,第一步,我启用了MySQL查询监控,如下所述:HowcanIviewliveMySQLqueries?.然后我创建了以下测试:使用mysqli:$stmt=$mysqli->prepare("SELECT*FROMusersWHEREusername=?")){$stmt->bind_param("i",$user);$user="''1''";服务器日志:13080223:39:39175Connect****@localhostontestdb175PrepareSELECT*FROMusersWHEREusername

php - 如何跨不同页面使用mysqli持久连接

我有一个网络应用程序使用不同的PHP页面来处理代码。在每个页面的顶部,我打开一个mysqli连接到同一个数据库(使用相同的用户/密码):$link=mysqli_connect("$mysql_server","$mysql_user","$mysql_pw","$mysql_db");if(!$link){die('Couldnotconnect:'.mysql_error());}我知道最好使用单个持久连接。如何在所有页面上启用此功能?第一次连接是否像使用$link=mysqli_connect("p:".$mysql_server,"$mysql_user","$mysql_pw

php - 在 PHP 中的 mysqli 准备语句中使用 REGEXP

我正在尝试使用这样的(新手)代码进行简单的搜索过程:$prep->prepare("SELECT*FROMdetailsWHEREidREGEXP'?'");$prep->bind_param("s",$search_query);它给了我这个警告:Warning:mysqli_stmt::bind_param():Numberofvariablesdoesn'tmatchnumberofparametersinpreparedstatement我猜这可能是因为问号也用于RegExp(可选的前一个字符)。关于如何在准备好的语句中使用REGEXP(没有冲突的问号)有什么想法吗?谢谢。