当前位置: 首页 > 面试题库 >

在MySQLi中选择* FROM

司马狐若
2023-03-14
问题内容

我的网站范围相当广泛,最近我刚切换到PHP5(称我为后期开发者)。

我之前所有的MySQL查询都是这样构建的:

"SELECT * FROM tablename WHERE field1 = 'value' && field2 = 'value2'";

这使得它非常容易,简单和友好。

由于明显的安全性原因,我现在正尝试切换到mysqli,并且SELECT * FROMbind_param需要特定参数时很难弄清楚如何实现相同的查询。

这句话已成为过去吗?

如果是的话,如何处理涉及大量列的查询?我真的需要每次都把它们全部打出来吗?


问题答案:
"SELECT * FROM tablename WHERE field1 = 'value' && field2 = 'value2'";

变成

"SELECT * FROM tablename WHERE field1 = ? && field2 = ?";

传递给$mysqli::prepare

$stmt = $mysqli->prepare(
  "SELECT * FROM tablename WHERE field1 = ? && field2 = ?");
$stmt->bind_param( "ss", $value, $value2); 
// "ss' is a format string, each "s" means string
$stmt->execute();

$stmt->bind_result($col1, $col2);
// then fetch and close the statement

OP评论:

因此,如果我有5个参数,则可能会有“ sssis”之类的东西(取决于输入的类型?)

正确,?在准备好的语句中,每个参数都有一个类型说明符,它们都在位置上(第一个说明符适用于第一个?,由第一个实际参数替换(这是的第二个参数bind_param))。

mysqli将负责转义和引用(我认为)。



 类似资料:
  • 如何从价格所在的表中进行选择 有没有办法动态格式化它,以删除空间并保持结果输出为原始?

  • 问题内容: 我是MSSQL用户,现在将数据库转换为MySQL。我在MySQL中编写以下查询: 我得到以下错误 如何用MySQL正确编写这样的查询? 问题答案: 使用CREATE TABLE SELECT语法。 http://dev.mysql.com/doc/refman/5.0/en/create-table- select.html

  • 问题内容: 目前,我正在使用此: 它将我重定向到选项值内的位置。但这不能按预期工作。..这意味着如果我单击select的第一个选项,则onChange操作不会运行。我正在考虑使用javascript,但我想您会收到一些更好的建议。因此,如果我单击每个选项将其重定向到它的值,该如何使其起作用? 问题答案: 因为已经选择了第一个选项,所以永远不会触发change事件。添加一个空值作为第一个值,并检查位

  • 我想使树状视图与可编辑的节点。我在谷歌上搜索了这篇好文章: http://www.codeproject.com/Articles/31592/Editable-TextBlock-in-WPF-for-In-place-Editing 但是我有一个问题。我的TreeView形成了dinamally,而不是静态的角质层。就像那样 DocPackageExtendedList的列表。 所以,第一个问

  • 问题内容: 我正在尝试从以下查询中获取行数。我只得到行计数为1,但有35条记录。您能否让我知道如何从内部查询中获取计数? 谢谢 问题答案: 您缺少FROM,需要为子查询指定别名。

  • 问题内容: 我使用的选择标记的格式允许多次选择,但我希望选择的最大数量为10。使用JavaScript或jquery是否可以? 提前致谢! 问题答案: 这是供您使用的一些完整代码…一定要喜欢Google AJAX API Playground :-) 编辑1: 注意:这只允许您选择5,因为我不想复制/粘贴另外10个选项:-) ​