草庐IT

pdo_parse_params

全部标签

php - OOP PDO 语句错误

我写了这个全文搜索函数,但它抛出了这个错误:SQLSTATE[42000]:Syntaxerrororaccessviolation:1064YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'?'atline1.我是OOP和PDO的新手,我的prepare语句语法是否正确?还是我在其他地方出错了?我是否在查询中正确实现了:q参数?publicfunctionsearchFullTextPanel($q){try{$st

php - 在 PHP 中使用 PDO 绑定(bind)参数

我在php中使用PDO。但是当我的查询有任何像“'”这样的关键字时,它意味着连字符它会中断并通过错误。我准备通过互联网找到将参数与查询绑定(bind)的解决方案,并且效果很好。但问题是我在循环中构建查询,我无法在循环中绑定(bind)参数。这是我用空格拆分数组并对每个关键字运行查询的代码。前3个单词将只有like查询,超过3个单词我正在使用循环连接所有数组元素,同样还有超过6个单词我正在使用MATCH查询。有什么方法可以转义连字符,或者在我的例子中我们如何使用循环绑定(bind)参数?$keyword=($_POST['keyword']);$keyword_array=split('

PHP-PDO : MySQL's logged prepared statements include PS data

我通过PDO在PHP中使用MySQL预处理语句来分离查询和数据,例如:CALL`celestial_object_view`(?,?)但是MySQL日志显示CALL`celestial_object_view`('1','1')因此,我猜想数据在发送到MySQL之前实际上已合并到查询中?对于短数据来说这不是问题,但是当插入10Mo的Blob数据时,MySQL服务器会尖叫超过max_allowed_pa​​cket。我如何让PDO/PHP/MySQL将数据与PS分开考虑,以便我可以执行包含大量数据的短PS,而不会达到max_allowed_pa​​cket?

php - PDO 准备语句。选择一切

我尝试学习PDO和准备好的语句。我已经阅读了所有文档并且有一些问题。如果我理解,在下面的情况下,这是不可能的,也不需要准备好的陈述。那是对的吗?是否足够安全?try{$conn=newPDO("mysql:host=$servername;dbname=$dbname",$username,$password);$conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);echo"Connectedsuccessfully";$sql="SELECTtitle_post,subtitle_postFROMen";$stat

PHP PDO SQL_CALC_FOUND_ROWS/FOUND_ROWS() 奇怪的问题

我已经找到了问题的解决方法,但这更多的是关于原因的问题。这是我的场景..我在包含数千条记录的表上使用以下代码:$stmt=$pdo->prepare("SELECTSQL_CALC_FOUND_ROWS*FROM...LIMIT10;");$stmt->execute();echo$pdo->query("SELECTFOUND_ROWS();")->fetchColumn();#outputs0上面应该输出实际的记录数,但它输出的是0。现在,如果我在SQL_CALC_FOUND_ROWS查询的末尾添加一个尾随空格,它就可以正常工作.....LIMIT10;");关于为什么会这样有什么

php - 如何从另一个表更新mysql pdo中的字段

这个问题在这里已经有了答案:MySQL-UPDATEquerybasedonSELECTQuery(13个答案)关闭5年前。这不是一个重复的问题。前一个问题与PDO无关。我在mysql中有两个表:USERS-------------------------------------employeeid|name|saving|salary-------------------------------------12|Bob|100|100023|Joe|50|800USERStableemployeeidnamesavingsalary和:EMPLOYEE----------------

由于 "double port"- 未捕获的 PDOException : SQLSTATE[HY000] [2002],PHP PDO 初始化失败

我收到这个错误PHPFatalerror:UncaughtPDOException:SQLSTATE[HY000][2002]Failedtoparseaddress"localhost:3306:3306"in[myPath]/xxDb.php:32注意地址中的“双”端口:localhost:3306:3306xxDb.php行32看起来像这样:$db=newPDO('mysql:host='.DB_HOST.';dbname='.DB_NAME.';charset=utf8',DB_USER,DB_PW,array(PDO::MYSQL_ATTR_INIT_COMMAND=>"SE

php - pdo 并将 json 编码插入到 json 字段

我正在按照本指南...mysqltutorial.org/mysql-json...我决定用PDO尝试这些概念...但我一定是在某处丢失了一些东西。这非常有效:$db=newPDO("mysql:host=$hostname;dbname=$dbname",$user,$pass);$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);$array=array(1=>array(2=>'kkk',3=>'pizza'));$json=json_encode($array);$db->query("INSERTINTOte

php - 我不明白 password_verify 是如何工作的(PDO)?请解释

这个问题在这里已经有了答案:HowtousePHP'spassword_hashtohashandverifypasswords(5个答案)HowdoyouusebcryptforhashingpasswordsinPHP?[duplicate](11个答案)关闭3年前。我得到了这个任务,直到现在,我一直在使用sha1来保证安全。老师上周五回信告诉我们使用password_hash。知道它是为了明天,我试图弄清楚它是如何工作的,但不要把头围在它周围。我发现很多人都在谈论它,但没有一个对我有用:Howtousepassword_hashRegisterAndLogin目前,因为它被分配,

php - 使用 mysqli 的 Bind_param 非对象错误

当尝试为将跟踪每日View的表插入初始行时,我收到错误:Fatalerror:Calltoamemberfunctionbind_param()onanon-objectin/.../functions.phponline157该行是以下组的最后一行:if($stats_found){$sqlquery="UPDATEvid_statsSETviews=?WHEREtitle=?ANDformat=?ANDdate=?ANDresults=?";$views++;}else{$sqlquery="INSERTINTOvid_stats(views,title,format,result