#php #mysql #arrays
#php #mysql #массивы
Вопрос:
У меня есть массив.Теперь я хочу вставить данные в свою таблицу, используя это значение массива. $claw
является ли массив
Array
(
[0] => Array
(
[0] => Alabama
[1] => Yes
[2] => R
[3] =>
are free to enact restrictions greater than .
[4] =>
[5] =>
[6] =>
[7] =>
It is unlawful to sell
)
)
Теперь я хочу вставить данные в свою таблицу, используя это значение массива.
Я использую этот код, но не работаю
public function Insert($claw)
{
$fields = array();
for($i=0;$i<$claw; $i )
{
for($j=0;$j<$claw[$i]; $j )
{
$fields[] = $claw[$i][$j];
}
}
$sql = "Insert into information values(" . implode(', ', $fields) . ')';
return $this->MyCommandR($sql);
}
Я не могу понять, в чем моя ошибка
Комментарии:
1. Вам нужно указать свои значения, и вы должны действительно избегать их.
2. Проблема 1:
$i<$claw
… это не кажется правильным. Проблема 2: ваши значения вставки нуждаются в кавычках.
Ответ №1:
Вам нужно определить поле для сохранения этих данных $sql = «Вставить в информационные ( name
, yes
, ABC
, CBA
) значения (» . implode(‘, ‘, $fields) . ‘)’;
или
$field = $conn->query("DESCRIBE `".$table."`");
$constrantsQueryfield = array();
$constrantsQueryvalue = array();
while($row = mysqli_fetch_assoc($field))
{
if ($row['Field']!='ID' amp;amp; $row['Key']!='PRI')
{
if (array_key_exists($row['Field'],$data))
{
if ($row['Key']=='DATE')
{
$constrantsQueryfield[] = $row['Field'];
$constrantsQueryvalue[] = date("Y-m-d");
}
else
{
$constrantsQueryfield[] = $row['Field'];
$constrantsQueryvalue[] = $data[$row['Field']];
}
}
}
}
$constrantQuery = "INSERT INTO `".$table."` ";
for ($i = 0;$i<count($constrantsQueryfield);$i )
{
if ($i == 0){
$constrantQuery .= "(";
}
$constrantQuery .= "`".$constrantsQueryfield[$i]."`";
if ($i 1 == count($constrantsQueryfield))
{
$constrantQuery .= ")";
}
else
{
$constrantQuery .= ", ";
}
}
$constrantQuery .= " VALUES ";
$contstantQuery .= "(" . implode(', ', $data) . ')'; // ANy data array
$conn->query($constrantQuery);