gpt4 book ai didi

PHP MYSQL 'INSERT INTO $table VALUES ......' 字段数可变

转载 作者:可可西里 更新时间:2023-11-01 08:37:31 28 4
gpt4 key购买 nike

我仍在学习 PHP 和 MYSQL,并尝试制作一个程序来列出数据库中的所有表和数据(已完成)、编辑选定的行(已完成),然后在选定的表上添加新记录。现在的问题是可变数量的字段。表可以有 3 个字段,可以是 4 个,依此类推。在我的代码中 $getValue 是一个数组。我打印出来只是为了测试。它可能看起来像“Array ( [name] => Tomas [lastName] => Timas )”或“Array ( [stufName] => Phone [stufPrice] => 58 [comments] => My new phone )”$getTable 返回要插入的表的名称。这必须是表上的新记录,因此 stufID 或 nameID 或任何 ID 都将为 NULL如果我不知道值的数量,如何使用“INSERT INTO table VALUES (value1, value2, value3,...)”?

    <?php

include "conf.ini"; //connection to the db

$getValue=$_REQUEST['value'];
$getTable=$_REQUEST['table'];

// test********************
print_r($getValue);
print '<br>';
print $getTable;
// test********************

if (!$_POST['submit']) {
print 'Please input data';
} else {

mysql_query ("INSERT INTO $getTable VALUES (?????)");
}

?>

最佳答案

我希望你知道这非常危险,所以只有当你确定没有潜在的攻击者时才这样做!

$all_keys = array_keys($getValue);
$getValue = array_map('mysql_real_Escape_string', $getValues);
mysql_query ("INSERT INTO $getTable (`".implode('`,`', $all_keys)."`) VALUES ('".(implode(",", $getValue))."')");

关于PHP MYSQL 'INSERT INTO $table VALUES ......' 字段数可变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7296180/

28 4 0