Php 为示例制作更好的例程
我想问你,如果有人有一个想法,我可以使它在一个for或foreach例程对我来说更容易,因为我不想复制粘贴所有例程的所有内容Php 为示例制作更好的例程,php,sql,Php,Sql,我想问你,如果有人有一个想法,我可以使它在一个for或foreach例程对我来说更容易,因为我不想复制粘贴所有例程的所有内容 if ( $_POST['vorgang'] == 'aendern' ) { pd_aendern ( $_POST['db_eintrag'] , $db_id ); } <form action="#" runat="server" method="POST" enctype="multipart/form-data">
if ( $_POST['vorgang'] == 'aendern' ) {
pd_aendern ( $_POST['db_eintrag'] , $db_id );
}
<form action="#" runat="server" method="POST" enctype="multipart/form-data">
echo '<input type="text" placeholder="' . $vorname . '"name="db_eintrag[pd_vorname]"><br>';
echo '<input type="text" placeholder="' . $nachname . '"name="db_eintrag[pd_nachname]"><br>';
echo '<input type="text" placeholder="' . $geburtsjahr . '"name="db_eintrag[pd_geburtsjahr]"><br>';
...
..
.
</form>
function pd_aendern ( $db_eintrag , $db_id ) {
////////////////
//1st Routine.//
////////////////
if (!empty(isset($db_eintrag[pd_vorname] ))) {
$sql = "UPDATE personaldaten SET pd_vorname='$db_eintrag[pd_vorname]' WHERE pd_id='$db_id'";
$db_erg = mysql_query( $sql );
if ( ! $db_erg ) {
die("Ungültige Abfrage: $sql <hr>" . mysql_error());
}
}
///////////////
//2nd Routine//
///////////////
if (!empty(isset($db_eintrag[pd_nachname] ))) {
...
} else {
echo "aaaaa";
}
}
通过for或foreach例程获取mysql查询的部分。我试着把固定的东西放在两个数组中,但是我不能得到它的逻辑,我必须把它组合起来,才能得到它的非空输入。谢谢你的回复,谢谢你对我糟糕的英语的回复
$array = array("pd_vorname","pd_nachname", "pd_geburtsjahr");
$array2 = array("$db_eintrag[pd_vorname]","$db_eintrag[pd_nachname]", "$db_eintrag[pd_geburtsjahr]");
我的解决方案:
$array = array(pd_vorname,"pd_nachname","pd_geburtsjahr","pd_telefonnummer","pd_staatsbuerger","pd_wohnort","pd_fb");
$zahl = count($array);
for ($i = 0 ; $i < $zahl ; $i++) {
$etwas = $db_eintrag[$array[$i]];
$ar = $array[$i];
if (!empty($etwas)) {
$sql = "UPDATE personaldaten SET $ar='$etwas' WHERE pd_id='$db_id'";
$db_erg = mysql_query( $sql );
if ( ! $db_erg ) { die("Ungültige Abfrage: $sql <hr>" . mysql_error()); }
}
}
for ($i = 1 ; $i < 12 ; $i++) {
$etwas = $db_eintrag["wb_wissensbereich_" . $i ];
if (!empty($db_eintrag["wb_wissensbereich_" . $i ] )) {
$sql = "UPDATE wissensbereiche SET wb_wissensbereich_$i='$etwas' WHERE wb_id_person='$db_id'";
$db_erg = mysql_query( $sql );
if ( ! $db_erg ) { die("Ungültige Abfrage: $sql <hr>" . mysql_error()); }
}
}
$array=array(pd_vorname,“pd_nachname”,“pd_geburtsjahr”,“pd_telefonnumer”,“pd_statsbuerger”,“pd_wohnort”,“pd_fb”);
$zahl=计数($array);
对于($i=0;$i<$zahl;$i++){
$etwas=$db_eintrag[$array[$i]];
$ar=$array[$i];
如果(!空($etwas)){
$sql=“UPDATE personaldaten SET$ar='$etwas'其中pd_id='$db_id';
$db\u erg=mysql\u查询($sql);
if(!$db_erg){die(“Ungültige Abfrage:$sql
”.mysql_error());}
}
}
对于($i=1;$i<12;$i++){
$etwas=$db_eintrag[“wb_wissensberiich”..$i];
如果(!empty($db_eintrag[“wb_wissensberiich”.$i])){
$sql=“更新WISSENSBREICH集合wb\U WISSENSBREICH\U$i='$etwas',其中wb\U id\U person='$db\U id';
$db\u erg=mysql\u查询($sql);
if(!$db_erg){die(“Ungültige Abfrage:$sql
”.mysql_error());}
}
}
为什么您仍在使用多年前被弃用并因安全问题在PHP7中被删除的mysql\uuz
库?不应使用此方法编写新代码。由于无法使用参数化查询,您的代码几乎肯定容易受到SQL注入攻击,并且可能存在使用死代码库的其他风险。我强烈建议尽快迁移到mysqli
或PDO
。至于你的实际问题,我真的不知道你在问什么。我意识到英语对你来说并不容易,但请花点时间把它说清楚,因为很难确切知道你的问题是什么,或者你希望做什么不同的事情。@ADyson:该死的,拜托。我知道那个新版本,但我开始用旧版本写所有的东西,所以我没有时间修改它。这只是关于语法等等的问题。thx@所有注意到我改变它的人,但这不是问题的必要性。但是如果你觉得攻击服务器很容易,请让我知道你是如何做到的。?如果你愿意,我会在网上安装一个honypot服务器,如果你破解了那个旧的查询功能,你们每个人都会得到一些关注。@ADyson:好的,sry可能有点难理解,但我需要一些你不理解的输入?有一个很好(而且很幽默)的例子说明了您的方法的一些风险,还有一些用于新库和PHP及其他语言的参数化查询的语法示例。这并不难学,如果你从现在开始正确地学习,它将为你节省大量的时间,你以后不得不重新编写它。
$array = array(pd_vorname,"pd_nachname","pd_geburtsjahr","pd_telefonnummer","pd_staatsbuerger","pd_wohnort","pd_fb");
$zahl = count($array);
for ($i = 0 ; $i < $zahl ; $i++) {
$etwas = $db_eintrag[$array[$i]];
$ar = $array[$i];
if (!empty($etwas)) {
$sql = "UPDATE personaldaten SET $ar='$etwas' WHERE pd_id='$db_id'";
$db_erg = mysql_query( $sql );
if ( ! $db_erg ) { die("Ungültige Abfrage: $sql <hr>" . mysql_error()); }
}
}
for ($i = 1 ; $i < 12 ; $i++) {
$etwas = $db_eintrag["wb_wissensbereich_" . $i ];
if (!empty($db_eintrag["wb_wissensbereich_" . $i ] )) {
$sql = "UPDATE wissensbereiche SET wb_wissensbereich_$i='$etwas' WHERE wb_id_person='$db_id'";
$db_erg = mysql_query( $sql );
if ( ! $db_erg ) { die("Ungültige Abfrage: $sql <hr>" . mysql_error()); }
}
}