请教:Mysql 参数化查询怎么写 本帖最后由 fengyqf 于 2009-09-15 13:45:55 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 只要后面两行就可以了set @n = 156027;select * from tab_name where id=@n;如果是在存储过程里了,也可以这样declare n int;set n = 156027;select * from tab_name where id=n; 非常感谢热心帮忙!见有文章中说mysql使用的参数形式是这样的:?xxMySQL 的参数格式是以 "?" 字符加上参数名称而成。UPDATE myTable SET c1 = ?c1, c2 = ?c2, c3 = ?c3 WHERE c4 = ?c4用?命名的这样参数又是怎么用的呢,有没有什么区别? 你是在语言环境中还是在MYSQL中调用SP? 要赋值给一个变量:set @c1='',@c2='',@c3='',@c4='';set sql = 'UPDATE myTable SET c1 = ?, c2 = ?, c3 = ? WHERE c4 = ?';prepare stmt from sql;execute stmt using@c2,@c2,@c3,@c4; 在php中使用;目的是防止sql注入 1.php中准备语句参数就是?吧下面只要pt.set(1,art);就行了2.mysql> select ord("送") into @test;Query OK, 1 row affected (0.00 sec)mysql> select @test;+----------+| @test |+----------+| 15302785 |+----------+1 row in set (0.00 sec) 这种是ADO或者ADO。NET中的方法。然后添加参数。PHP中可以直接把变量代入即可。 MySql删除操作的触发器 这两个的SQL的效率谁好点? 怎么学习sql呀?推举几本书呗(零基础) on duplicate key update 怎么用 请举个例子说明 关于Mysql的安装 求一条比较麻烦的SQL语句 我在Red Hat Enterprise AS 3安装了MySQL,但就还是不能正常使用。。。 多表联合查询 ,,。。。有错么??? MySQL Control Center中中文显示乱码问题 Mysql多个表数据量之和的统计 如何将一个表的内容添加到另一个表中。 关于存储过程的OUT参数
set @n = 156027;
select * from tab_name where id=@n;如果是在存储过程里了,也可以这样
declare n int;
set n = 156027;
select * from tab_name where id=n;
见有文章中说mysql使用的参数形式是这样的:?xx
MySQL 的参数格式是以 "?" 字符加上参数名称而成。
UPDATE myTable SET c1 = ?c1, c2 = ?c2, c3 = ?c3 WHERE c4 = ?c4用?命名的这样参数又是怎么用的呢,有没有什么区别?
set sql = 'UPDATE myTable SET c1 = ?, c2 = ?, c3 = ? WHERE c4 = ?';
prepare stmt from sql;
execute stmt using@c2,@c2,@c3,@c4;
就行了
2.
mysql> select ord("送") into @test;
Query OK, 1 row affected (0.00 sec)mysql> select @test;
+----------+
| @test |
+----------+
| 15302785 |
+----------+
1 row in set (0.00 sec)
这种是ADO或者ADO。NET中的方法。然后添加参数。PHP中可以直接把变量代入即可。