2013-07-21 3 views
1

Im, используя форму нижеКак я могу подготовить оператор mysqli, который использует массивы?

<form method="get" action="daily_process.php"> 
Horse/Course/Time 

<input type='text' name='horse[]' /> 
<input type="text" name="course[]" /> 
<input type="text" name="time[]" /> 

<input type='text' name='horse[]' /> 
<input type="text" name="course[]" /> 
<input type="text" name="time[]" /> 

<input type='text' name='horse[]' /> 
<input type="text" name="course[]" /> 
<input type="text" name="time[]" /> 


<input name="submit" type="submit" /> 
</form> 

Im, используя код, приведенный ниже, чтобы обработать массив формы и вывода его в качестве печати

<?php 
$horse = $_POST['horse']; 
$course = $_POST['course']; 
$time = $_POST['time']; 

foreach($horse as $key => $h) { 

if ($horse[$key] != "") { 
    print "The horse is ".$h.", course is ".$course[$key]. 
     ", and time is ".$time[$key]." Thank you <br/>" ; 
}} 
?> 

мой вопрос, как я могу подготовить эти результаты для MySQLi?

Я видел приведенный ниже пример в StackOverflow, но как я могу его отредактировать в соответствии с моей целью?

ie. Мне нужно, чтобы сэкономить $ лошадь, $ конечно, и $ TimeTo база - стол (лошадь, конечно, время) ЗНАЧЕНИЯ

$query = "INSERT INTO table (link) VALUES (?)"; 
$stmt = $mysqli->prepare($query); 
foreach ($array as $one) { 
    $stmt ->bind_param("s", $one); 
    $stmt->execute(); 
} 
$stmt->close(); 
+0

Если у вас есть три параметра, почему вы готовите и связываете только один? – Gumbo

+0

@ Gumbo Он просто показывает пример, что он скопировал какой-то другой вопрос, а не его фактический код. – Barmar

ответ

0
$query = "INSERT INTO table (horse,course,time) VALUES (?,?,?)"; 
$stmt = $mysqli->prepare($query); 

foreach($horse as $key => $h) { 
    $stmt ->bind_param("sss", $h, $course[$key], $time[$key]); 
    $stmt->execute(); 
} 

Если все значения являются строками

(,,??)

Примеры для bind_param в the PHP docs показывают, как связывать несколько значений.

Смежные вопросы