本文目录一览:
- 1、PHP 如何再SQL语句中加入变量?
- 2、sql中php变量传递的问题
- 3、php中sql语句带变量的问题?
- 4、sql 和 php变量
- 5、php sql语句与变量到底怎么拼接?
- 6、PHP中SQL语句变量问题
PHP 如何再SQL语句中加入变量?
你说的只是php代码中可能会允许你使用注入语句,但是一般来说,网站防注入都是在链接数据库的类中加入了转换,也就是说把注入语句的关键字都加上了转义字符。比如你遇到的这种情况,就是被防注入了。
关于你这个问题:
问:输入框中的SQL语句应该如何写?
条件:数据库表、字段全已知,输入框长度不限。
我只能跟你说,你可以在输入框中加入;,/这种符号,让语句解析的时候出现问题,让php把sql语句拼合成两个或两个以上。这样你就可以在第二条语句之后加入你想要执行的命令了。
如果这种方法没有效果,你只能使用溢出的方式来注入!
sql中php变量传递的问题
PHP语法错误
$sql="INSERT INTO `test1`.`gbook` (`id`, `name`, `sex`, `email`, `info`, `ip`, `time_at`) VALUES (NULL, '$_REQUEST['name1']', '1', 'viery0712@sina.com', '撒大大撒旦', '127.0.0.1', NOW());";
'$_REQUEST['name1']' 用 '".$_REQUEST['name1']."' 替换
php中sql语句带变量的问题?
看起来没有,请你检查是否有排序的字段topic,也就是说表topic里面有字段topic吗,字段名拼写是否错误。另外,order前面建议增加一个空格,也就是这样想:
$sql='select * from topic where quesID="'.$ques.'" order by topic';
sql 和 php变量
原则一、注意单双引号的的配对,不能套多层的,你第一个语句范了这样的错,可以考虑取消titile的引号,或者用“.”连接。
原则二、int类型的常量可以不用引号,这样可以减少语句的复杂度。
原则三、SQL语句最好先赋予一个变量,这样当有错的时候更方便调试(可以输出SQL语句变量)。
原则四、实在麻烦的时候,可以使用其它结束符来写。
你的两个语句可以这样写:
$sql="INSERT INTO word VALUES($id,'$_POST[title]','$_POST[words]')";
mysql_query($sql,$db);//存入数据库
$query="SELECT title,words FROM word WHERE id ='$p";
php sql语句与变量到底怎么拼接?
要考虑到字符串本身是要用引号括住的,所以要这样:
$sql = "insert into users (slug,email,`password`,nickname) values ('".$slug."','".$email."','".$password."','".$nickname."')";
或者
$sql = "insert into users (slug,email,`password`,nickname) values ('$slug','$email','$password','$nickname')";
PHP中SQL语句变量问题
这个很简单,你先把SQL语句打印出来,然后在mysql工具里面跑一下这个语句,看能不能执行成功,
你这种报错,最好是把报错信息贴出来,这样才知道具体问题出在哪里,我估计应该就是你的字段类型的原因,varchar要带引号,所以你最好把字段这个变量都用引号引起来。