Я все еще изучаю функции, и я немного не уверен.
У меня есть этот код здесь:
<?php
include ('blah.html');
$conn = mysqli_connect("localhost","root","","testing");
// Check connection
if (mysqli_connect_errno())
{
echo "<p>Failed to connect to MySQL: " . mysqli_connect_error() . "</p>";
}
else
{
echo "<p>Connected to mysql and the testing database</p>";
}
/*function produceTable(){
$result = mysqli_query($conn,"SELECT studentid, CONCAT(firstname,' ', lastname) as name,phone, email, courseid FROM students WHERE courseid > 1500 ORDER BY lastname");
return $result;
}*/
$result = mysqli_query($conn,"SELECT studentid, CONCAT(firstname,' ', lastname) as name,phone, email, courseid FROM students WHERE courseid > 1500 ORDER BY lastname");
$numRecords = mysqli_num_rows($result);
while($row = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td align = 'center'>".$row['studentid']."</td>";
echo "<td>".$row['name']."</td>";
echo "<td>".$row['phone']."</td>";
echo "<td>".$row['email']."</td>";
echo "<td>".$row['courseid']."</td>";
echo "</tr>";
}
echo "</table>";
echo "<p>".$numRecords." records found with course id larger than 1500</p>";
?>
</body>
</html>
Как видите, я закомментировал функцию. Если вы игнорируете функцию, этот код работает и выводит нужные мне записи, но я должен иметь возможность заставить его работать с функцией. Функция должна быть вызвана productTable () и принимать один параметр с именем $ result. Также необходимо использовать mysqli_fetch_array () для вывода записей.
В вашем produceTable()
$conn
является undefined
, Просто пройдите $conn
в качестве параметра. как это
function produceTable($conn){
$result = mysqli_query($conn,"SELECT studentid, CONCAT(firstname,' ', lastname) as name,phone, email, courseid FROM students WHERE courseid > 1500 ORDER BY lastname");
return $result;
}
$result = produceTable($conn);
$numRecords = mysqli_num_rows($result);
while($row = mysqli_fetch_array($result)) {
.....
}
Ваша функция следующая:
function produceTable(){
$result = mysqli_query($conn, "SELECT ...");
return $result;
}
?
$conn
не имеет значения. не так ли? Попробуй передать этот параметр в функцию