如何在从MySql运行select查询时修复PHP中的“解析错误:语法错误,意外的‘echo’(T_echo)”

如何在从MySql运行select查询时修复PHP中的“解析错误:语法错误,意外的‘echo’(T_echo)”,php,mysql,Php,Mysql,我试图从MySql查询中填充一个php验证,以便稍后通过php发送电子邮件时使用。请参阅下面填充veriable的代码。我没有包括mysql\u connect和mysql\u select\u数据库,因为这是一个实时数据库,我知道连接可以工作。在您声明我应该使用mysqli或POD之前,我知道服务器无法更新,因为有大量页面依赖于旧代码 错误-分析错误:语法错误,意外的“echo”T\u echo $emailaddress = "SELECT e_mail FROM frm_change_ap

我试图从MySql查询中填充一个php验证,以便稍后通过php发送电子邮件时使用。请参阅下面填充veriable的代码。我没有包括mysql\u connect和mysql\u select\u数据库,因为这是一个实时数据库,我知道连接可以工作。在您声明我应该使用mysqli或POD之前,我知道服务器无法更新,因为有大量页面依赖于旧代码

错误-分析错误:语法错误,意外的“echo”T\u echo

$emailaddress = "SELECT e_mail FROM frm_change_approver WHERE user_id LIKE '$approvingmanagername'";
$result = mysql_fetch_array($emailaddress);

$approveremail = echo $result['e_mail'];
我需要通过上述查询填充$approveremail,因为我在数据库中已经有用户的电子邮件地址,并且不希望用户键入错误的地址,我只在表单中捕获用户id,因为我根本不希望有电子邮件地址字段。然后,我将使用填充的veriable向此人发送电子邮件


非常感谢您的帮助。

您不能将echo语句分配给变量

更改此项:

$approveremail = echo $result['e_mail'];
为此:

$approveremail = $result['e_mail']; 
echo $approveremail;
甚至:

echo $result['e_mail']; 

此外,请考虑使用MyQuLi或PDO代替MySQL函数。PHP 7.0及以上版本不再支持mysql_uu函数

请看这一页

您需要运行查询,然后获取结果

$emailaddress = "SELECT e_mail FROM frm_change_approver WHERE user_id = '$approvingmanagername'";
$result = mysql_query($emailaddress);
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$approveremail = $row['e_mail'];

也请考虑使用MySQL*RealOracle EXECH字符串来清理你的输入

你需要先在FuffChina数组之前运行查询,不用介意SQL注入。@米哈伊,你能帮助这个吗?同样,如果不使用通配符,为什么需要这样?Just do user_id='$approvingmanagername'@LelioFaietaThank你我已经改变了这个,是的,这是一个更好的使用方法,我想我只是复制了另一个查询。mysql_*在PHP7中被弃用和删除-现在切换到mysqli_*或pdo以避免大规模项目更新。另外,您的代码是开放的SQL注入感谢这一点,我现在得到这个错误;警告:mysql_fetch_数组期望参数1是资源,第18行C:\xampp\htdocs\agressoform\php\submitfinaneform.php中给出的字符串是$result=mysql_fetch_数组$emailaddress;我编辑了我的答案非常感谢你的作品完美!