MySQL Update命令不起作用

时间:2012-11-08 06:12:35

标签: php mysql ios xcode

我一直在尝试通过iOS从iOS更新mysql条目。但是,xcode的模拟器拒绝更新值。我格式化了吗? (澄清一下,数据库名称是“login”,两个prog变量是整数(不必格式化不同吗?)

<?php
$prog= $_GET['prog'];
$prog1= $_GET['prog1'];
$dbh = new PDO('(censored)');
$sql = "UPDATE login SET oneam = $prog, twelvefif = $prog1 WHERE username = 'hello'"; 
$q = $dbh->prepare( $sql );
$q;
?>

或xcode ...

NSString *urlString = [NSString stringWithFormat:@"(censored)?prog=%@&prog1=%@", prog, prog1];

3 个答案:

答案 0 :(得分:0)

改变 -

$prog= $_GET['prog'];
$login = "hello";
$prog= $_GET['prog1'];

$prog= $_GET['prog'];
$login = "hello";
$prog1= $_GET['prog1'];

答案 1 :(得分:0)

如果var有一个整数没有问题,你必须使用单引号来保护你的变量,否则你必须使用单引号。

我知道你正在使用准备好的陈述并处理这个问题,但无论如何你可以试试。

$sql = "UPDATE login SET oneam = '$prog', twelvefif = '$prog1' WHERE username = 'hello'"; 

答案 2 :(得分:0)

为避免sql注入问题,您应该将变量转换为int或绑定预准备语句中的变量(首选...):

$prog = (int) $_GET['prog'];
$prog1 = (int) $_GET['prog1'];

除此之外,您必须实际执行准备好的声明,仅仅准备它是不够的:

$q = $dbh->prepare( $sql );
$q->execute();