请教: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中可以直接把变量代入即可。 mysqld命令在linux下怎么不识别 mysql送分题…… 怎么子查询一配合DISTINCT就出错了?!!求回答!! MyEclipse里用jdbc连接MySQL的问题 遇到一个奇怪的问题 phpmyadmin中的“导出”和“复制表”有什么区别 请教一个远程联接的问题 mysql5.5 1.备份数据库或表。2.备份为.sql文件 服务无法启动 mysql时间循环,导出excel 如何将一个表的内容添加到另一个表中。 关于存储过程的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中可以直接把变量代入即可。