在mysql\u查询中使用变量作为数组元素号
如果问题有点让人困惑,我很抱歉,请尽量把它弄清楚。在mysql\u查询中使用变量作为数组元素号,mysql,arrays,variables,numbers,element,Mysql,Arrays,Variables,Numbers,Element,如果问题有点让人困惑,我很抱歉,请尽量把它弄清楚。 基本上,我有以下代码: for($i = 0;$i < 5;$i++) { $query = mysql_query("INSERT INTO words (lecture, pol, ukr) VALUES ($lecture, $pol_text[$i], $ukr_text[$i])", $db) or die("Data not inserted"); } 可以使用foreach循环,并确保转义查
基本上,我有以下代码:
for($i = 0;$i < 5;$i++)
{
$query = mysql_query("INSERT INTO words (lecture, pol, ukr) VALUES ($lecture, $pol_text[$i], $ukr_text[$i])", $db) or die("Data not inserted");
}
可以使用foreach循环,并确保转义查询中的值:-
<?
if (isset($_POST['submit']))
{
if (isset($_POST['pol_text'])){$pol_text = $_POST['pol_text'];}
if (isset($_POST['ukr_text'])){$ukr_text = $_POST['ukr_text'];}
if (isset($_POST['lecture'])){$lecture = $_POST['lecture'];}
foreach($ukr_text AS $key=>$value)
{
$query = mysql_query("INSERT INTO words (lecture, pol, ukr) VALUES ('".mysql_real_escape_string($lecture)."', '".mysql_real_escape_string($pol_text[$key])."', '".mysql_real_escape_string($ukr_text[$key])."')", $db) or die("Data not inserted");
}
unset($_POST['submit']);
}
?>
或修改为仅插入多行:-
<?
if (isset($_POST['submit']))
{
if (isset($_POST['pol_text'])){$pol_text = $_POST['pol_text'];}
if (isset($_POST['ukr_text'])){$ukr_text = $_POST['ukr_text'];}
if (isset($_POST['lecture'])){$lecture = $_POST['lecture'];}
$ins_array = array();
foreach($ukr_text AS $key=>$value)
{
$ins_array[] = "('".mysql_real_escape_string($lecture)."', '".mysql_real_escape_string($pol_text[$key])."', '".mysql_real_escape_string($ukr_text[$key])."')";
}
if (count($ins_array > 0))
{
$query = mysql_query("INSERT INTO words (lecture, pol, ukr) VALUES ".implode(",", $ins_array), $db) or die("Data not inserted");
}
unset($_POST['submit']);
}
?>
你能发布一些示例数据吗?@mattes嗯,我有5个文本字段,每个字段分别有name=pol_text[]
和name=pol_text[]
。我正在提交一份表格,并在考虑如何使其自动化。我想我可以手动写5次,但是为了将来的参考,如果我有5个以上的字段,我想知道可能的方法来自动完成,谢谢!语句“VALUES”部分中的php变量需要用单引号(')括起来,以便将插入的值转换为“literal value”,除非数据库列是数字。您可能需要在“大括号”({})中包含变量名,以确保准确的值替换。i、 e.{$pol_text[$i]}.@RyanVincent成功了!非常感谢你!不客气-很高兴这有帮助。:-)
<?
if (isset($_POST['submit']))
{
if (isset($_POST['pol_text'])){$pol_text = $_POST['pol_text'];}
if (isset($_POST['ukr_text'])){$ukr_text = $_POST['ukr_text'];}
if (isset($_POST['lecture'])){$lecture = $_POST['lecture'];}
$ins_array = array();
foreach($ukr_text AS $key=>$value)
{
$ins_array[] = "('".mysql_real_escape_string($lecture)."', '".mysql_real_escape_string($pol_text[$key])."', '".mysql_real_escape_string($ukr_text[$key])."')";
}
if (count($ins_array > 0))
{
$query = mysql_query("INSERT INTO words (lecture, pol, ukr) VALUES ".implode(",", $ins_array), $db) or die("Data not inserted");
}
unset($_POST['submit']);
}
?>