语法:在SQL UPDATE查询中使用PHP函数

时间:2012-01-30 06:13:45

标签: php sql

我想使用我的自定义PHP函数CalculateAge,它在SQL UPDATE中包含3个参数(日,月和年)。但是,我需要将SQL变量传递给函数,我不知道该怎么做。这是它的样子(注意bday,bmonth和byear是“用户”表格列。)

mysql_query("UPDATE users SET age=".CalculateAge(bday,bmonth,byear)."");

3 个答案:

答案 0 :(得分:1)

您无法在查询中交织PHP函数。您需要先查询每一行中的数据;计算每行的结果值,然后运行查询以根据结果更新每一行。

答案 1 :(得分:1)

您无法将mysql值传递给函数。您必须执行SELECT来获取值,获取行,将它们传递给函数,然后INSERT该值。

我建议不要更新年龄,而应该存储此人的生日,因为它永远不会改变。当你想要显示他们的年龄时,只需做数学。

答案 2 :(得分:1)

首先从数据库中检索数据:

$data = mysql_query("SELECT bday,bmonth,byear FROM users");
$info = mysql_fetch_array( $data );   

现在调用你的php函数$age=CalculateAge($info['bday'],$info['bmonth'],$info['byear']);
然后更新表....

mysql_query("UPDATE users SET age=".$age."");