草庐IT

str_param_filename

全部标签

php - 如果在循环中使用 MySQLi 准备语句,我什么时候调用 bind_param?

我正在尝试学习如何在MySQLi中使用准备好的语句来插入数据。尽管准备好的语句因其重复高效地执行类似语句的能力而受到称赞,但我似乎找不到使用MySQLi在循环中执行多个语句的示例。我特别对以下内容感到困惑:是在我的循环之前还是在我的循环中调用bind_param是否在调用bind_param之前或之后为我的变量赋值大多数关于预处理语句的教程都使用PDO。使用PDO,可以将一组参数值传递给execute,从而无需调用bindParam。MySQLi不是这种情况。PHP手册mysqli_prepare条目有一个显示以下操作顺序的示例:为变量赋值准备声明绑定(bind)变量执行关闭根据以上判

mysql - 当 str 包含 'é' 或 'ë' 且 substr 仅包含 'e' 时,INSTR(str,substr) 不起作用

在另一篇关于stackoverflow的帖子中,我读到INSTR可用于按相关性对结果进行排序。我对colLIKE'%str%'和INSTR(col,'str')`的理解是它们的行为相同。排序规则的处理方式似乎有所不同。CREATETABLE`users`(`id`int(11)NOTNULLAUTO_INCREMENT,`name`varchar(64)COLLATEutf8_unicode_ciDEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf8COLLATE=utf8_unicode_ci;INSERTINTOu

mysql - Unix : Passing Param to MYSQL files from BASH Shell Script

我想从bashshell脚本传递一些变量到mysql文件。这是我的shell脚本。#!/bin/bashecho$0Startedat$(date)mysql-uroot-p123xyzblablaMyMYSQLDBName请注意是MYSQL不是SQLPLUS我的MYSQL.sql,我想读取和使用传递的参数/参数(PARAM_TABLE_NAME)selectcount(*)fromPARAM_TABLE_NAME问题1:将变量(PARAM_TABLE_NAME)传递给sql文件(mysqlfile.sql)的正确语法是什么?问题2:如何打印sql文件(mysqlfile.sql)中的

php - 尽管使用 PDO::PARAM_INT 参数,MySQL/PDO::quote() 还是在整数周围加上引号

无论我将什么值/数据类型对传递给$pdo->quote($value,$type);,它总是将其作为字符串引用:echo$pdo->quote('foo',PDO::PARAM_STR);/*'foo',asexpected*/echo$pdo->quote(42,PDO::PARAM_INT);/*'42',expected42unquoted*/我只是想知道这是否是预期的功能。我使用准备好的语句来执行实际的查询,但我正在尝试fetch创建最终的查询字符串(用于调试/缓存),并手动构建它们。正如标题所暗示的,这是使用MySQL驱动程序创建$pdo时。由于不可用,我没有尝试过其他的。

Mysql STR_TO_DATE 不正确的日期时间值

我已经将一些日期从文件加载到表中,现在我想将带有日期的字符串转换为日期时间格式。字符串i'datestring'列看起来像这样'12-16-201001:48:28',如果我运行此查询:selectSTR_TO_DATE('12-16-201001:48:28','%c-%e-%Y%T')它返回正确的日期时间:2010-12-1601:48:28但是当我尝试运行它时:updatedatabase.`temptable`SETdatetimefile=(SELECTSTR_TO_DATE(datestring,'%c-%e-%Y%T'))我得到了那些类型的错误:Incorrectdate

php - str_replace(或 preg_replace?)接受并保留重音字符和大写字母

我正在为一个将在某些地方包含重音字符和大写字母的网站构建法语MySQL数据库。所有这一切都完美无缺。现在我设计了一个显示数据库内容的表格(工作完美),我在上面放了一个搜索栏。用于搜索的SQL查询按预期工作(使用LIKE,它不区分大小写,并将重音字符视为其基本字母,令人惊讶的是,这正是我想要的)。这是我的问题:我想直接在表格中突出显示搜索的所有实例。我得到了它的部分工作:str_ireplace($_POST["search"],''.$_POST["search"]."",$row['First_Name']);但是出现了这些问题:它根据搜索输入更改我表格中的上限如果用户忽略重音字符(

python - 为什么带有 charset=utf8 的 SQLAlchemy create_engine 返回 python 类型 <str> 而不是类型 <unicode>?

使用Python2.7和SQLAlchemy0.7,我使用以下命令连接到MySQL数据库:engine=create_engine('mysql://username:password@host/dbname?charset=utf8',echo=False)根据SQLAlchemy文档,设置charset=utf8自动意味着use_unicode=1,因此所有字符串都应返回为unicode。http://docs.sqlalchemy.org/en/rel_0_7/dialects/mysql.html具体举例#setclientencodingtoutf8;allstringsco

php - 有人可以清楚地解释为什么mysqli_prepare()/bind_param()比real_escape_string()更好吗?

Thisquestionalreadyhasanswershere:Whyisusingamysqlpreparedstatementmoresecurethanusingthecommonescapefunctions?(7个答案)7年前关闭。好吧,我还是不太明白。我一直在读,为了正确地逃避MySQL查询,您需要使用mysqli_prepare()和mysqli_bind_param()。我尝试使用此设置,坦率地说,这有点笨拙。当我不再需要再次引用它们时,我会停留在通过引用传递变量的过程中,而完成同一任务只是更多的代码行。我想我只是不明白两者之间的区别是什么:query('UPDAT

php - STR_TO_DATE 在我的查询中不起作用

我在具有varchar数据类型的数据库中有日期字段。现在我必须将日期与当前日期进行比较,但由于数据类型(varchar)结果无法正常显示。我不想更改数据库中的数据类型,那么如何在codeigniter中查询?在我的数据库中,日期是这种格式30/11/2015我当前的查询://herevdistablefield(onecolumn).$cd=date('d/m/Y');//currentdate$this->db->where("date_format(STR_TO_DATE(vd,'%d/%m/%Y'),'%d/%m/%Y')>",$cd);//comparingdatewithcu

mysql - #1411 - INSERT INTO...SELECT 函数 str_to_date 的日期时间值不正确

这些查询需要字符串到日期的转换,因为时间戳存储为字符串,并且日志记录应用程序是不可更改的。我有一个完美运行的选择查询->(SELECTmain.user_id,main.TimestampFROM`user_table`mainWHERESTR_To_DATE(main.Timestamp,'%a%b%d%H:%i:%sCST%Y')这将从我的表中选择所有但最近添加的用户ID和时间戳。但是,当我尝试将其插入到另一个表中时...就像这样->INSERTINTOuser_table_temp(`user_id`,`Timestamp`)(SELECTmain.user_id,main.Ti