У меня возникли проблемы с получением моего SQL-запроса для «вставки в» моей базы данных, разрешено ли использовать переменные как имя таблицы, имя поля и значения?Вставить в переменные php mysql
Вот мой код:
$nameOfDBFromA = "vagtplanA" . $_GET["from"];
$flytnedToQ1 = $con->prepare("SELECT * FROM $nameOfDBToA WHERE ansatId='$_GET[ansatId]' ORDER BY id DESC");
$flytnedToQ1->execute();
$flytnedTo1 = $flytnedToQ1->fetch();
$nameOfFieldToA1 = "a" . $_GET["to"] . "1";
$nameOfFieldToA2 = "a" . $_GET["to"] . "2";
$nameOfFieldToA3 = "a" . $_GET["to"] . "3";
$nameOfFieldToA4 = "a" . $_GET["to"] . "4";
$nameOfFieldToA5 = "a" . $_GET["to"] . "5";
$nameOfFieldToA6 = "a" . $_GET["to"] . "6";
$nameOfFieldToA7 = "a" . $_GET["to"] . "7";
$redigeringsTidspunkt = date("j M Y");
$flytnedTA = $con->prepare(
"INSERT INTO $nameOfDBFromA
(ansatId, edit, $nameOfFieldToA1, $nameOfFieldToA2,
$nameOfFieldToA3, $nameOfFieldToA4, $nameOfFieldToA5,
$nameOfFieldToA6, $nameOfFieldToA7)
VALUES($_GET[ansatId], $redigeringsTidspunkt,
$flytnedTo1[$nameOfFieldToA1], $flytnedTo1[$nameOfFieldToA2],
$flytnedTo1[$nameOfFieldToA3], $flytnedTo1[$nameOfFieldToA4],
$flytnedTo1[$nameOfFieldToA5], $flytnedTo1[$nameOfFieldToA6],
$flytnedTo1[$nameOfFieldToA7]) ")
or die(mysql_error());
$flytnedTA->execute();
РЕШИТЬ! Я просто кладу в нее массивы собственной переменной
$intoVarToA1 = $flytnedTo1[$nameOfFieldToA1];
$intoVarToA2 = $flytnedTo1[$nameOfFieldToA2];
$intoVarToA3 = $flytnedTo1[$nameOfFieldToA3];
$intoVarToA4 = $flytnedTo1[$nameOfFieldToA4];
$intoVarToA5 = $flytnedTo1[$nameOfFieldToA5];
$intoVarToA6 = $flytnedTo1[$nameOfFieldToA6];
$intoVarToA7 = $flytnedTo1[$nameOfFieldToA7];
Я подозреваю, что это могут быть массивы в разделе значений? –
вы не цитировали ЛЮБОЕ из ваших значений, поэтому почти 99.999999% у вас есть проблема с [sql injection] (http://bobby-tables.com). И поскольку 'mysql _ *()' не имеет подготовленных операторов, вы, вероятно, ТАКЖЕ смешаете mysql apis, который также не будет работать. 'mysql_error()' может сообщать только о ошибках, вызванных функциями mysql _ *(), ** NOT ** mysqli или pdo. –
Извините, что я не размещал больше своего кода в соответствующем контексте. Кавычки в значениях не решают проблему, ive попробовал это тысячу раз, с и без. Это должно работать, есть что-то с синтаксисом, о котором я не знаю. Все мои переменные имеют то, что им нужно содержать. проверили их столько раз. –