2012-07-19 83 views
-1

你好,我有一个花岗岩PHP功能,但想打印我自己的文本,它存储在一边变量和我自己的颜色,这也存储在边变量用颜色添加一个变量到一个函数中?

这就是代码看起来应该如何输入变量

gradient('FF0000', '0000FF', 'my test goes here'); 

的正常工作,但现在我想把变量

梯度($ colour1,$颜色2,$配置文件);

这是prining字母w即使茨艾伦的,如果我只是打印配置文件和其他2变量有所有设置......和他们都不是只是W¯¯

这里是我得到的颜色.. 。

<?php 


    $sql1 = "SELECT * FROM profile_colurs WHERE username='{$profile}' "; 
$result1 = mysql_query($sql1) or die(mysql_error()); 
$values1 = mysql_fetch_array($result1); 


$co1= mysql_real_escape_string($values1['colour1']); 
$colour1 = strip_tags($co1); 
$co2= mysql_real_escape_string($values1['colour2']); 
$colour2 = strip_tags($co2); 
$co3= mysql_real_escape_string($values1['colour3']); 
$colour3 = strip_tags($co3); 


     include_once('functions/granit.php'); 

     gradient($colour1,$colour2,$profile); 


     ?> 

完美的所有变量打印但很快我已经把它放到功能IM刚开“W” 我到底做错了什么?

+0

一次测试一个变量,看看你是否可以得到它的工作。像'渐变($ colour1,'0000FF','我的测试')'。这样你至少可以看到哪个变量是罪魁祸首。 – 2012-07-19 15:07:55

+0

你不会在你从**数据库获得的数据上运行'mysql_real_escape_string'。 – nickb 2012-07-19 15:08:26

+0

准确地说,你为什么要对你提取的数据做real_escape_string()?除非要在另一个查询中使用这些值,否则m_r_e_s()完全没有意义且可能有害。 – 2012-07-19 15:08:44

回答

0

首先建议,不要使用MySQL_*函数集。它被弃用,其使用是不鼓励的。

不推荐使用此扩展名。相反,应该使用MySQLi或PDO_MySQL扩展。另请参阅MySQL:选择API指南和相关FAQ以获取更多信息。替代该功能包括:

其次,改变你的mysql_fetch_arraymysql_fetch_assoc如果你只是想关联的结果(意为列名作为数组索引)。

最后,做一个var_dump(get_defined_vars());并验证数据库中的数据以达到您的预期。在你的代码片段中,$profile集合在哪里,它的价值是什么?