我想为动态sql语句准备一个语句,这个语句取决于用户的决定。所以我不知道它会是什么样子。我不能事先为它做一个模板。例如:

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

$conn = new mysqli('localhost','root','','test');

if (isset($_POST['submit'])){

$build = "";

if(!empty($_POST['city'])){

$city=$_POST['city'];

$build.= "AND city= $city ";

}

if(!empty($_POST['type'])){

$type=$_POST['type'];

$build.= "AND type = $type ";

}

$build= substr_replace($build,'',0,3);

$sql = "SELECT * FROM proizvodi WHERE $build";

$search=$conn->query($sql);

$num = $search->num_rows;

if($num>0){

echo "

while($row = $search->fetch_object()){

echo "

";

echo "

".$row->name."";

echo "

".$row->surname."";

echo "

".$row->price."";

echo "

";

}

echo "

";

}

}else{

echo "Put some value";

}

?>

City

Type

我有一些想法可以为每个$build字符串编写prepare语句,但我不确定是否可以,例如,如果我有几十个可能的用户输入,该怎么办。那太多代码了。有没有比这更优雅的方法呢?谢谢!

mysqli 语句和mysql语句一样吗_如何为动态sql语句准备mysqli语句相关推荐

  1. mysql日期维表sql文件_《MySQL必知必会》笔记(SQL练习+建表语句)

    站在巨人的肩上 Standing On Shoulders Of Giants 部分转自:https://www.jianshu.com/p/294502893128 https://blog.csd ...

  2. mysql防注入pdo_mysql PDO和存储过程动态SQL注入

    正如我在许多文章中看到的那样,存储过程中的动态SQL容易受到SQL注入的攻击.但是,如果我们将先前的PDO与准备好的语句一起使用,这仍然不安全吗? 例: CREATE PROCEDURE my_sp( ...

  3. 用MySQL语句为SC定义主码_珍藏的数据库SQL基础练习题答案

    一,基本表的定义与删除. 题1: 用SQL语句创建如下三张表:学生(Student),课程表(Course),和学生选课表(SC),这三张表的结构如表1-1到表1-3所示. 表1-1 Student表 ...

  4. sql collection内容_非关系数据库复习|SQL到mongoDB查询语句转换

    学姐最近发现之前学过SQL comp9120的同学们很容易就能转换到mongodb的查询语句上来. 首先我们来看sql 和mongodb的概念对照表, 在 MongoDB 中我们把表称做Collect ...

  5. mysql注入漏洞检查_漏洞检测:SQL注入漏洞 WASC Threat Classification

    1.      过滤用户输入的内容,检查用户输入的内容中是否有非法内容.如,|(竖线符号). & (& 符号).;(分号).$(美元符号).%(百分比符号).@(at 符号).'(单引 ...

  6. 删除表的mysql命令是什么_删除表的sql命令是什么?

    sql中删除表的命令是DROP TABLE,DROP DATABASE语句用来删除数据库操作,即删除了数据库也删除数据库里的所有表. 命令语法:DROP TABLE "表格名"; ...

  7. mysql 全角空格_数据库使用技巧――SQL全角与半角切换_MySQL

    bitsCN.com 数据库系统中,经常有些用户在输入数据的时候会不小心使用全角输入,这就有可能会导致我们的程序出错,如何解决此类问题了. 测试代码: select cast('111' as int ...

  8. mysql 触发器 列级_列级触发器 SQL Server

    列级触发器就是对表中的某列进行添加或修改时所执行的触发器. 建立列级触发器与建立触发器的语法是相同的,只是在创建时使用IF UPDATE(column)参数. 语法: CREATE TRIGGER t ...

  9. MySQL如何制作报表_(MySQLToSQL) 生成报表 - SQL Server | Microsoft Docs

    生成报告 (MySQLToSQL)Generating Reports (MySQLToSQL) 01/19/2017 本文内容 使用命令执行的某些活动的报告在对象树级别的 SSMA 控制台中生成.T ...

最新文章

  1. ArcEngine创建字段集
  2. 如何配置jenkins 与代理服务器吗?
  3. JS 获取中英字符串字节长度
  4. 下载MNIST数据集并使用python将数据转换成NumPy数组(源码解析)
  5. django 路由分发 url分层
  6. Android的屏幕适配之图片加载适配
  7. MQTT-WebSocket连接通信
  8. IDEA 创建 MAVEN 父子工程
  9. 十进制转二进制 / 八进制 / 十六进制的手算方法,及其数学原理的通俗解释
  10. No package ‘glib-2.0‘ found/No package ‘gobject-2.0‘ found
  11. C语言指针及C++引用
  12. 从iRedMail 创建用户脚本学习PostgreSQL数据库
  13. SQL2005到2008数据库升级
  14. 解决ImportError: cannot import name ‘bbox_overlaps_cython‘
  15. 共享单车公司每年花上亿元赎车
  16. 翟佳:优秀的开源项目应该被更多人看见,我很荣幸可以参与其中
  17. iOS 获取系统wifi列表,wifi信号强度,并给wifi设置密码,标签(副标题)
  18. android分享截屏到微信,Android 微信分享长图 ScrollView 生成长截图 View变bitmap
  19. 如何用代码让钉钉报警-开发公司内部的钉钉报警系统
  20. archpr速度几百_ElcomSoft产品目录2009 - ELCOMSOFT

热门文章

  1. [转] new 和delete
  2. typecho 调用评论最多热门文章
  3. Spring+Spring Boot+Mybatis框架注解解析
  4. 0x06 MySQL 单表查询
  5. jQery 操作CSS
  6. hibernate.cfg.xml ,hibernate.properties 关系
  7. 《财产》评最受尊重公司:苹果第一谷歌第二
  8. 大数据之-Hadoop3.x_MapReduce_序列化案例需求分析---大数据之hadoop3.x工作笔记0096
  9. AndroidStudio_AndroidStudio debug的时候断点打不上_No executable code found at line---Android原生开发工作笔记236
  10. Elasticsearch--高级-映射mapping_添加行的字段映射---全文检索引擎ElasticSearch工作笔记018