Как адаптировать код вставки для чтения/удаления/обновления
Эй, на прошлой неделе я и один из моих профессоров создали код для вставки, предоставив пользователю возможность выбрать, куда вставить, и я хочу использовать этот код для остальных функций...
У меня мало времени, пожалуйста, помогите.
КОД:
<?php $self = $_SERVER['PHP_SELF']; $host_name = "127.0.0.1"; $database = "visteon"; $username = "root"; $password = ""; $Tabela =""; try { $dbo = new PDO('mysql:host='.$host_name.';dbname='.$database, $username, $password); } catch (PDOException $e) { print "Error!: " . $e->getMessage() . "<br/>"; die(); } // select table to insert data if(!isset($_POST['submeterTabela']) && !isset($_POST['submeterDados'])) { $form ="<form action=\"$self\" method=\"post\">"; $result = $dbo->query("SHOW TABLES"); $form.= "<select name='Tabela' class='select_box'>"; while ($row = $result->fetch(PDO::FETCH_NUM)) { $form.= "<option value='$row[0]'>$row[0]</option>"; } $form.= "</select>"; $form.="<br><input type=\"submit\" name=\"submeterTabela\" value=\"Submeter\"class='button'>"; echo($form); } // input data if(isset($_POST['submeterTabela']) && !isset($_POST['submeterDados'])) { $Tabela=$_POST['Tabela']; $form ="<form action=\"$self\" method=\"post\">"; $form.="<input type=\"hidden\" name=\"Tabela\"class='tabela1'value=\"$Tabela\"> <br>"; $form.="Introduz Dados<br>"; $sql ="SHOW columns from ".$Tabela; $result = $dbo->query($sql); while ($row = $result->fetch(PDO::FETCH_NUM)) { $sql1="select Campo from descritivoscampos where Tabela='".$Tabela."' and Campo='".$row[0]."';"; $Resultado = $dbo->query($sql1); $linha = $Resultado->fetch(PDO::FETCH_NUM); $form .= "$linha[0]"; $form.="<input type=\"text\" name=\"$row[0]\" size=\"5\"><br>"; } $form.=" <br><input type=\"submit\" name=\"submeterDados\"class='botao'value=\"Submeter\">"; echo($form); } if(isset($_POST['submeterDados'])) { $Tabela=$_POST['Tabela']; $sql ="SHOW columns from ".$Tabela; $result = $dbo->query($sql); $sql1 = "insert into $Tabela("; $aux=0; while ($row = $result->fetch(PDO::FETCH_NUM)) { if ($aux!=0) $sql1 .=", "; if ($row[0]!='id') { $sql1 .="$row[0]"; $aux=1; } } $sql1 .=") values ("; $result = $dbo->query($sql); $aux=0; while ($row = $result->fetch(PDO::FETCH_NUM)) { if ($aux!=0) $sql1 .= ", "; if ($row[0]!='id') { $aa=$_POST[$row[0]]; $sql1 .="'$aa'"; //$sql1 .="$row[0]"; $aux=1; } } $sql1 .=");"; $conn = mysqli_connect($host_name, $username, $password, $database) or die("Could not connect."); $result = mysqli_query($conn, $sql1) or die("Could not execute SQL query"); if ($result) { echo("Data added successfully !!"); } } ?>
Что я уже пробовал:
Я попробовал это сделать и ничего не получилось:
if(isset($_POST['submeterDados'])) { $Tabela=$_POST['Tabela']; $sql ="SHOW columns from ".$Tabela; $result = $dbo->query($sql); $sql1 = "DELETE FROM'".$Tabela."' WHERE id = $Id"; }
Richard MacCutchan
- У меня мало времени, пожалуйста, помогите."
Так что именно вы хотите, чтобы мы сделали?
#realJSOP
Он должен был начать раньше.
Member 14197794
Я начал это почти месяц назад, я просто пришел сюда, потому что застрял. Это один из моих стажерских проектов
Member 14197794
Помогите мне или покажите, как его адаптировать
Gerry Schmitz
Еще немного подлизывайся к профессору.
Member 14197794
Я не могу, здесь, в Португалии, пасхальные каникулы
Gerry Schmitz
Может быть, сервер тоже в отпуске ... часы работы банкира.
Member 14197794
Ладно, тогда спасибо.
Richard Deeming
NB: Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
PHP: SQL-инъекция - руководство пользователя[^]
РНР: Подготовленные инструкции и хранимые процедуры - руководство пользователя[^]