如何为从数据库获取的变量赋值?

How to assign value to variable that fetched from database?

提问人:Ashi Pashi 提问时间:1/20/2023 更新时间:1/20/2023 访问量:33

问:

使用“SELECT”查询从数据库获取的字符串,其中包含该页面中的变量名称“Dear $customer_name”$customer_name='John Denie',但在回声中它打印“Dear $customer_name”而不是“Dear John Denie”

/// in brief codding just to clear idea ///
         $customer_name='John Denie'; 
        "SELECT SMS_text From table"   //SMS_text value in database is Dear $customer_name
        $sms_body=$row["SMS_text"];
echo $sms_body

现在这个 $sms_body echo Dear $customer_name,我希望它应该打印 Dear John Denie 根据代码 $customer_name 在这里保留更改,例如我分配了静态值。

我尝试了{}修剪函数和其他方法,但对我来说什么都没有。有什么想法吗?

PHP MySQL 变量

评论

0赞 brombeer 1/20/2023
你试过使用str_replace吗?这里到底有什么用?trim()

答:

1赞 Vitaly Tito 1/20/2023 #1

如果你sms_text== '亲爱的$customer_name ...' 您应该在之后添加行

$sms_body=$row["SMS_text"];

及之前

 echo $sms_body:

您应该添加以下行:

$sms_body= str_replace('$customer_name',$customer_name,$sms_body);    

也许你的期望是基于这样的想法,

echo $sms_body;相当于 echo “Dear $customer_name ...”;,其实你有 echo $sms_body;相当于 echo 'Dear $customer_name ...';

评论

0赞 Ashi Pashi 1/20/2023
不,不幸的是,即使我尝试用不同的变量替换,也没有工作。$customer_names=“ABC ZYZ”;$sms_body= str_replace(“$customer_name”,$customer_names,$sms_body);
0赞 RiggsFolly 1/20/2023
将变量放在一个带引号的文字中,否则PHP将尝试扩展它,所以这样做$sms_body= str_replace('$customer_name',$customer_name,$sms_body);
0赞 Vitaly Tito 1/20/2023
是的,对不起,我的错,应该是单引号