SQL 变量 PHP 包含问题


Sql Variable PHP Inclusion Issue

嗨,我在向 Sql 脚本添加变量时遇到问题,如果我用"text"替换$safe它工作正常,我想这是一个简单的语法问题。 我希望有人可以帮忙,因为我有点新手!

<?
$ORDERID = 'LH-PAY-'.rand(10000000,99999999);
$safe - mysql_escape_string($ORDERID);
mysql_connect("localhost", "youthtra_wp1", "pass") or die(mysql_error());
mysql_select_db("youthtra_wp1") or die(mysql_error());
$query = "INSERT INTO tblPayments (PaymentID,Created,Status,Type,FlgID,WpUser,FullAmount,InsuranceAmount) VALUES ('".$safe."',now(),'Started','edpq','12345678','LH23456','499.99','19.99' )";
mysql_query($query);
echo 'ok';

几点:

a) $safe绝不是。 mysql_escape_string()使用不安全。这就是mysql_real_escape_string()存在的原因。
b) 无论如何
你都不应该使用 mysql_*() 函数c) 你只是假设你的查询总是会成功,并且故意忽略 mysql_query() 的返回值,这在/当事情失败时可以帮助你。例如,您的代码至少应为:

$result = mysql_query(...);
if ($result === FALSE) {
   die(mysql_error());
}

只需修复第 3 行中=-

$safe - mysql_escape_string($ORDERID);