以下是用于生成要在mysql_query
函数内部执行的代码的代码
for($i=1;$i<=$totalcols;$i++) {
$val_array[] = "\'\".\$data->val(\$i,$i).\"\'";
}
然后使用
implode
和stripslashes
函数将上面的数组转换为不带斜杠的字符串。$val = stripslashes(implode(",",$val_array));
并全部产生如下字符串
'".$data->val($i,1)."','".$data->val($i,2)."','".$data->val($i,3)."'
这是我在
VALUES()
内部使用的字符串。无需执行代码,然后将值插入数据库中,而是将字符串原样插入数据库中。mysql_query函数的用法如下。mysql_query("INSERT INTO import_excel ($val_string) VALUES($val)") or die(mysql_error());
这是将数据插入数据库的屏幕截图
最佳答案
通常,您要执行的操作是通过以下方式完成的:
$val_array[] = "'{$data->val($i)}'";
即在构建变量值时(而不是在执行变量时)将其插入字符串中。
这是因为干净的PHP代码通常不使用“ eval”功能,尽管有一些滥用PHP的方法。
同样,通常需要应用该函数对值中的引号进行转义,以防SQL注入:
$val_array[] = "'".mysql_real_escape_string($data->val($i))."'";
关于php - 无法在mysql_query函数中执行PHP代码。代码以字符串形式存储在变量中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12890463/