草庐IT

prepared-statement

全部标签

php - 准备好的语句中的 MySQL/PHP : How can we bind a parameter to both (? )s?

如果这是我的代码:$mysqli=newmysqli("localhost","user","password","mydb");$city="Some";$q="SELECTDistrictFROMCityWHERE(Name=?OR?ISNULL)";if($stmt=$mysqli->prepare($q)){//HowtoBind$cityhere?}如何将$city绑定(bind)到两个??或者有更好的方法吗? 最佳答案 你可以这样做$stmt->bind_param("forfirst?",'forsecond?');或

php - 在准备好的语句中使用变量两次

我开始在php中对我的sql查询使用准备好的语句,从这个开始我想出了一个问题。我有一个函数可以在登录时从表中获取用户的ID。我希望用户能够使用他们的用户名或电子邮件地址进行登录。所以我的sql语句是:SELECT*FROM`login`WHERE`username`=?OR`emailAddress`=?现在本质上,在此查询中,username和emailAddress将相同,因为它可以是or。所以当绑定(bind)我的语句时,我是否绑定(bind)了我的变量两次:bind_param('ss',$user,$user);因此username和emailAddress的值必须相同。本质

php - 即使我知道参数的类型,我还需要准备语句吗?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion如果参数是整数并且不是来自用户输入,它是我设置的变量,如$type=5;,我是否还需要像我一样为它创建一个占位符为来自用户输入的参数做些什么(WHEREtype=?)?有什么好处吗?

PHP- mysqli->num_rows 总是返回 0,准备语句

首先,我想告诉大家,我已经解决了ALLDUPLICATE问题。并尝试了那里建议的更改。到目前为止,我已经尝试将num_rows更改为num_rows()并使用store_result();并使用affected_rows()。也在execute()之后调用store_result();我想可能还有其他我想不通的问题$conn->autocommit(false);if($sucess){$stmt2=$conn->prepare("UPDATEe_eventqueueSETe_urlfil=?WHEREe_id=?ANDu_id=?");$stmt2->bind_param("iis"

php - 在带有准备好的语句的 INSERT 或 UPDATE 中使用 NULL 值

有时我需要在表中插入一些空值,或更新它们并将值设置为NULL。我在Postgres文档的某处读到这无法完成,但可以使用默认值欺骗:pg_query("INSERTINTOmy_table(col_a,col_b)VALUES('whatever',default)我知道在这个例子中我会得到相同的结果:pg_query("INSERTINTOmy_table(col_a)VALUES('whatever')但是问题来自准备好的语句:pg_prepare($pgconn,'insert_null_val',"INSERTINTOmy_table(col_a,col_b)VALUES($1,

PHP:在准备好的语句上获取插入确认

我是准备好的语句的新手,并试图让一些简单的东西起作用。这是我的数据库表:`unblocker_users`(`uno`bigint(20)NOTNULLAUTO_INCREMENT,`user_email`varchar(210)DEFAULTNULL,`pw_hash`varchar(30)DEFAULTNULL,`email_confirmed`tinyint(4)DEFAULTNULL,`total_requests`bigint(20)DEFAULTNULL,`today_date`dateDEFAULTNULL,`accessed_today`tinyint(4)DEFAUL

php - 在 sql 中多次使用相同的准备语句参数

我试图在我的sql中使用相同的参数,但它只识别第一个。看我的代码:$stmt=$dbh->prepare("SELECT(SELECTSUM(oq.value)FROMoperations_quotasASoqJOINoperationsASoONoq.operation=o.idWHEREo.user=:userANDo.type=1ANDoq.status=1)AStotal_incomes_open,(SELECTSUM(oq.value)FROMoperations_quotasASoqJOINoperationsASoONoq.operation=o.idWHEREo.use

php - 将此 MySQLi 查询编写为准备好的语句

我有一个现有的MySQLi查询:$conn=dbConnect('query');$galNumb="SELECTCOUNT(pj_gallery_id)FROMpj_galleriesWHEREproject={$project}";$gNumb=$conn->query($galNumb);$row=$gNumb->fetch_row();$galTotal=$row[0];这会计算每个项目与$project中包含的查询字符串中的值相匹配的画廊数量。它工作完美,但与准备好的语句相比并不安全。我已经研究了两天,无法学习如何将此语句编写为准备好的语句。我们将不胜感激任何和所有帮助。更新

if-statement - .phtml 和 .php 中的 If 语句

我无法理解文件扩展名.phtml。根据我的阅读,它应该是一种同时使用html和php的方法(如果我弄错了请纠正我)。我想做的很简单,我有一个php变量,如果它满足特定条件,则应执行一些html代码,否则应执行其他一些html代码。我的代码是:12当我将它保存为.php文件并运行时,我得到的输出仅为“1”,但对于.phtml,我得到的是“12”。谁能解释一下为什么? 最佳答案 你需要配置运行.php/.phtml扩展,所以AddTypeapplication/x-httpd-php.php.phtml.html在你的httpd.con

php - 准备好的语句——我是否应该在没有(?)占位符的查询中使用 php 准备好的语句?

在以下类型的查询中使用准备好的语句对我来说非常有意义:$sqlQuery="SELECTphoneFROMcontactWHEREname=?";但是,在下面的情况下,有时会看到使用准备好的语句有意义吗?$sqlQuery="SELECTnameFROMcontact";提前致谢 最佳答案 如果您运行的查询没有任何用户输入的变量,您可以这样做:$db->query("SELECTnameFROMcontact")一旦您开始输入用户输入的数据,您需要使用准备好的语句。$db->prepare("SELECTphoneFROMconta