Php MySQL更新命令不工作

Php MySQL更新命令不工作,php,mysql,ios,xcode,Php,Mysql,Ios,Xcode,我一直在尝试从iOS通过php更新mysql条目。然而,xcode的模拟器拒绝更新这些值。我的格式正确吗?(为了澄清,数据库名称是“login”,两个prog变量是整数(不必采用不同的格式,是吗?) 改变-- 到 如果变量有一个整数没有问题,那么为了安全起见,必须使用单引号对变量进行加引号,否则必须使用单引号 我知道你正在使用预先准备好的语句,这会解决这个问题,但无论如何你可以试试 $sql = "UPDATE login SET oneam = '$prog', twelvefif = '$p

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

改变--


如果变量有一个整数没有问题,那么为了安全起见,必须使用单引号对变量进行加引号,否则必须使用单引号

我知道你正在使用预先准备好的语句,这会解决这个问题,但无论如何你可以试试

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

为了避免sql注入问题,您应该将变量强制转换为
int
,或者在准备好的语句中绑定变量(首选…):

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

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

这取决于存储在
$prog
$prog1
prog1
prog
中的内容,它们是整数(仅1和0)。这需要SQL注入,请参见您没有将
$login
传递到PHP端。你…吗?(注意:在iOS端没有问题)好的,但我认为我应该先学习使用update命令,然后再在anks上添加它,但这仍然不能解决它
$prog= $_GET['prog'];
$login = "hello";
$prog= $_GET['prog1'];
$prog= $_GET['prog'];
$login = "hello";
$prog1= $_GET['prog1'];
$sql = "UPDATE login SET oneam = '$prog', twelvefif = '$prog1' WHERE username = 'hello'"; 
$prog = (int) $_GET['prog'];
$prog1 = (int) $_GET['prog1'];
$q = $dbh->prepare( $sql );
$q->execute();