PHP Mail and SQL
有人可以看到下面的代码有问题吗?
预先感谢,
丹
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $sql = mysqli_query("SELECT * FROM tablename.all_customers WHERE Account Ref = '$accno1'"); $row = mysqli_fetch_array($sql); $Customer_Name = $row['Customer_Name']; $message ="Hi, $Customer_Name \ Your order has been dispatched with UK Mail, you can track it here using $conno1"; $message = wordwrap($message, 70,"\ \ "); $to = $row['email_address']; $headers ="From: <[email protected]>"; mail($to,"In Phase Test",$message,$headers); |
只是猜测,因为我们不知道您在哪里遇到错误或错误是什么,但是请尝试以下方法之一是否起作用:
1 | $sql = mysqli_query("SELECT * FROM tablename.all_customers WHERE `Account Ref` = '$accno1'"); |
或
1 | $sql = mysqli_query("SELECT * FROM tablename.all_customers WHERE Account_Ref = '$accno1'"); |
编辑
解释;
如果第一个有效,则您使用了包含空格的名称作为字段名称。执行此操作时,必须用`。
包裹字段名称。
如果第二种方法有效,您只是在字段名称中忘记了下划线。
是的,您的查询有问题
1 | $sql = mysqli_query("SELECT * FROM tablename.all_customers WHERE Account Ref = '$accno1'"); |
创建数据库表时,最好在字段名称的两个单词之间放置" _"或"-"。在tablename.all_customers表中,在字段名称" Account Ref"中的两个单词之间使用空格。对于该字段名称,正确的sql是:
1 | $sql = mysqli_query("SELECT * FROM tablename.all_customers WHERE `Account Ref` = '$accno1'"); |
如果您将" _"或"-"放在字段中的两个词之间,则不需使用开引号和闭引号即可。.
希望,对您有帮助。
谢谢