2014-10-27 80 views
0

在我的用户注册页面我插入表单数据插入表使用此代码PHP插入MSSQL使用ODBC

$msquerys=" 
      insert into userdata (account,password,rank,socno,email,block) 
      VALUES ('".$account."','".$pass."','".$rank."', '123123-1231231','".$email."','".$blockdata."')"; 

$msresultss=odbc_exec($conn2,$msquerys) or die('<div align="center"> 

可悲的是我需要输入SOCNO为123123-1231231与连字符,但是当它会插入此值-1108108。这就像PHP将它看作是一种减法并将其插入。

+0

我会建议你使用准备好的语句,来看看:http://stackoverflow.com/questions/5756369/odbc- prepared-statements-in-php – NullBy7e 2014-10-27 12:30:56

+0

不应该这样,因为'123123-1231231'将被视为字符串文字。 – Rahul 2014-10-27 12:34:03

回答

0

您可以尝试使用预处理语句:

http://php.net/manual/en/function.odbc-prepare.php

$msquerys=odbc_prepare($conn2, "insert into userdata (account,password,rank,socno,email,block) VALUES (?, ?, ?, ?, ?, ?)"); 
$msresultss=odbc_execute($msquerys, array($account, $pass, $rank, "123123-1231231", $email, $blockdata)) or die('<div align="center"> 
<p align="center"><strong>#################### Something went wrong, Please seek help! ####################</strong></p> </div> '); 
+0

我正在阅读你的评论,我开始放弃它,然后我看到了这一点。先生,非常感谢您的帮助! – 2014-10-27 12:47:45

+0

没问题! :)让我知道它是否有效。 – NullBy7e 2014-10-27 12:48:38