关于mysql:PHP Mail和SQL

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'");

如果您将" _"或"-"放在字段中的两个词之间,则不需使用开引号和闭引号即可。.

希望,对您有帮助。

谢谢