草庐IT

PREPARED

全部标签

php - 为什么 mysqli QUERY 有效,但相同的 PREPARED 语句版本返回 SQL 语法错误?

好的,所以我现在已经折腾了2个小时,无法弄清楚所谓的SQL语法错误在哪里。我最终将准备好的语句重写为标准查询-它工作正常,语法完全相同。准备好的声明代码:(不工作)if($account_info=$mysqli->prepare("SELECTusers.specid,users.username?FROMusers?WHEREusers.id=?")){//ASWITCHtodeterminebind_paramandbind_result}else{//Erroroutput}以上结果导致以下MYSQL错误:YouhaveanerrorinyourSQLsyntax;checkt

mysql - 1615 准备好的语句需要在 codeigniter 中重新准备

我在codeIgniter3.1.7框架中的mysql存储过程中使用prepare语句。当我在localhost工作时一切正常但是当网站被托管时,我收到这个错误“Preparedstatementneedstobere-prepared”我在太多网站中检查了解决方案并检查了codeigniter,mysql文档。但我仍然无法解决它。几乎每个人都提到在sql中增加“table_definition_cache”。但我试过了,但我仍然遇到同样的错误。期待高手的解答。提前致谢。 最佳答案 我在使用Laravel框架时遇到了同样的问题。我用

php - Prepared Statements 没有速度优势?

我听说如果多次执行查询,MySQL数据库的准备语句可以提高速度,我认为我在项目中有一个理想的案例。但是我运行了一些基准测试并发现了完全相反的情况。我是否使用了这些语句错误(对于准备语句来说不是理想的情况),或者它们没有我想象的那么快?情况是锦标赛结果网格。有多所学校参加了多项事件,每所学校的每项事件都有一个分数。为了获得个别学校的所有事件的分数,它需要一个带有LEFTJOIN的SQL查询,例如:SELECTe.`id`,e.`name`,c.`competing`,c.`raw`,c.`final`FROM`events`eLEFTJOIN`scores`cONe.`id`=c.`ev

MySQL加载数据: This command is not supported in the prepared statement protocol yet

我正在尝试编写一个MySQL脚本来将数据导入到我的Linux服务器的一个表中。这是名为update.sql的脚本:SET@query=CONCAT("LOADDATALOCALINFILE'",@spaceName,"'INTOTABLEtmpFIELDSTERMINATEDBY','LINESTERMINATEDBY'\n';");PREPAREstmtFROM@query;EXECUTEstmt;DEALLOCATEPREPAREstmt;另外,我编写了一个名为main.sh的bash脚本:mysql-h"localhost"-u"root""-pmypassword""mydb"

PHP Prepared MySQL 语句开始加引号

因此,我已经在多个项目中使用准备好的语句一段时间了,这是与MySQL数据库交互的一种非常干净的方式,但今天我遇到了一个奇怪的问题。我准备好的语句已经开始向sql语句添加额外的'并且对于我的生活我不知道为什么......代码如下:_db->prepare($sql);$stmt->bindParam(":sortby",$sortby,PDO::PARAM_STR);$stmt->bindParam(":offset",$offset,PDO::PARAM_INT);$stmt->execute();?>所以上面没有返回任何东西,所以查看数据库日志,这就是查询的样子SELECTimg_i

java - 在 Java 中使用带有 Prepared Statement 的 LIMIT 命令的 MySQL 语法错误

我正在用Java编写代码,每次运行这段代码时我都想从MySQL表中取出下一行。我第二次运行这段代码时是这样的。Stringtimh1="1";Stringtimh2="2";PreparedStatementst=null;StringsqlGrammes="SELECTSURNAME,KATHGORIA,AFM,NAMEFROMEMPLOYEELIMIT?,?";try{st=connection.prepareStatement(sqlGrammes);st.setString(1,timh1);st.setString(2,timh2);但它向我显示了这个错误:com.mysql

java - 如果其中一个字段可能为空,如何更新表中的多个字段?

我想在名为Personnel-table的表中更新用户个人信息的5字段。用户可能想要更新所有字段、部分字段或根本不更新任何字段。用户可能想要更新的字段是:FirstName、LastName、Password、UserName和地址.该代码执行此操作:publicbooleanupdateUserInfo(String_idnumber,String_usernameNew,String_passwordNew,String_addressNew,String_firstNameNew,String_lastNameNew)throwsSQLException{ResultSetres

PHP PDO Prepared Statement MySQL Count of Select where X LIKE

使用PHPv.5.2.14和PDO-MySQL扩展。我是准备好的陈述的新手。需要创建一个搜索表单(以便用户输入)和一个“选择所有X,其中X喜欢……”的工作查询。代码和结果:$sql='SELECTCOUNT(*)asnum_booksfromt_bookswheretitleLIKE:search_term';//Lateraccessasnum_books$prep=$dbh->prepare($sql);$num=$prep->execute(array(':search_term'=>'%'.$search_term.'%'));$total=$num->fetchColumn(

php - "No data supplied for parameters in prepared statement"

所以我正在重新编写一个脚本以包含准备好的语句。之前它工作正常,但现在我在脚本运行时收到“没有为准备好的语句中的参数提供数据”。这里有什么问题?error;$result=mysqli_query($mysqli,$stmt);if($result===false){echo"Errorenteringdata!";echomysqli_error($mysqli);}else{echo"User$firstnameadded";}?>提前致谢。 最佳答案 您只通过控制字符串“sssd”绑定(bind)了四个参数,但您有很多参数。my

php - PDO : Error not caught when executing prepared statement 故障排除

这个问题在这里已经有了答案:WhydoesthisPDOstatementsilentlyfail?(1个回答)关闭1年前。我在使用PDO时遇到了问题,因为没有捕获到错误。代码很简单并且工作得很好,我将包含一个示例以避免混淆:$sql='INSERTINTOsomedatetable(something)VALUES(:something)ONDUPLICATEKEYUPDATEsomething=:something';$values=array(":something"=>$something);try{$stmt=$dbh->prepare($sql);$stmt->execut