草庐IT

mysqli_fetch_all

全部标签

php - Mysqli准备语句(SQL注入(inject)预防)

停止使用已弃用的mysql_*函数后,我切换到mysqli。但是后来,我注意到非准备语句对于SQL注入(inject)是不安全的。然后,我再次更改了我的代码。我所拥有的是以下函数,它检查数据库中是否存在变量$ID并打印该行的title的值:functionshowPostTitle($ID,$mysqli){$result=$mysqli->query("SELECTID,titleFROMblogwhereID=$ID");$row=$result->fetch_array(MYSQLI_BOTH);echo$row['title'];}我改成了这样:functionshowPost

php - 在 mysqli 中使用 'config.php' 文件

我最近被告知停止使用mysql_query(),而是改用mysqli()。不用说,我在代码中进行这些更改时遇到了困难。我很想修复我目前拥有的东西,但是我也在寻找最有效(阅读最少输入)的方式来循环下面的示例。在我的config.php文件中connect($host,$user,$password,$database);if(mysqli_connect_errno()){exit('Connectfailed:'.mysqli_connect_error());}?>在我的index.php中$i=0;$getFundsQuery="SELECT*FROMfund";$getFunds

php - MySQL + PHP : Select all results from one table for each result of another

我的数据库中有以下两个表:TABLE1:Specials---------------------------------------------|SpecialID|SpecialName|SpecialImage|--------------------------------------------|1|Special1|1.jpg||2|Special2|2.jpg||3|Special3|3.jpg|---------------------------------------------TABLE2:SpecialItems-------------------------

php - mysqli 预处理语句 - 不要更新 NULL 值

我有一个准备好的语句来更新几个字段。我从公式中获取数据,但并非所有字段都是必需的。所以有可能有些字段没有设置。我将它们默认设置为NULL。现在我不想用NULL覆盖旧值。如果它为NULL,我如何告诉MySql不要更新该值?$insert_stmt=$mysqli->prepare("UPDATEmembersSETusername=?,email=?,$password=?,$random_salt=?,level=?,customerID=?,name=?,surname=?,phone=?,quantities=?WHEREid=?");$insert_stmt->bind_para

php - mysqli_stmt::bind_result():绑定(bind)变量的数量与准备语句中的字段数量不匹配

我一直在尝试使用准备好的语句在PHP中编写登录表单,但每次我尝试登录时都会收到以下错误:mysqli_stmt::bind_result():Numberofbindvariablesdoesn'tmatchnumberoffieldsinpreparedstatement这是我的代码:prepare("SELECTusernameANDpasswordFROMusersWHEREusername=?");$username=$_POST['name'];$stmt->bind_param('s',$username);$stmt->execute();$stmt->bind_resu

php - mysqli php 查询更新不工作,不返回错误

我写了下面的代码:publicstaticfunctionupdateUser($userid,$username){$query='UPDATEusersSETusername=?WHEREid=?';$statement=$GLOBALS["DB"]->prepare($query);$statement->bind_param('is',$userid,$username);$statement->execute();$statement->store_result();if($statement->affected_rows==1){return1;}else{return$s

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

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

php - 记录 : one record to be active and all other will be inactive 的更新状态

我在数据库表中有一个enum('Y','N')字段,其中有许多记录保持记录状态为事件(Y)或非事件(N)。一次只能激活一条记录。提供了一个界面来显示所有记录及其状态,如果它是事件的,那么它会显示单词Active如果它是非事件的,则提供一个提交按钮以使其与每条记录一起事件。现在我正在执行两个更新命令updatetable_namesetactive="Y"whereid=$idupdatetable_namesetactive="N"whereid!=$id我的问题是:-我真的需要执行两个更新命令还是他们的任何更新命令一次更新它们? 最佳答案

php - 在 myslqli_fetch_array() 中使用 foreach 循环而不是 while

好的,所以我意识到什么时候做://connectioncode;//querycode;//$result=mysqli_query();$row=mysqli_fetch_array($result);您创建一个关联数组,其中表中的列名是相应行中数据的键。然后你可以使用:while($row=mysqli_fetch_array($result)){//codetoechoouttabledata.}我的问题是while循环如何在每次迭代后转到下一行?我以为这就是foreach循环的用途? 最佳答案 来自http://www.ph

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`