Hallo zusammen,
ich bin dabei eine Website auch auf PHP 7 zum laufen zu bringen, das klappt auch bis auf eine Datenbankabfrage, vielleicht kann mir da jemand von Euch kurz helfen.
Zum Verständnis der alte Code:
ersetzt mit:
Wie gesagt das klappt soweit bis auf die $row2 Abfrage
Danke schon mal im Voraus für die Mithilfe.
ich bin dabei eine Website auch auf PHP 7 zum laufen zu bringen, das klappt auch bis auf eine Datenbankabfrage, vielleicht kann mir da jemand von Euch kurz helfen.
Zum Verständnis der alte Code:
PHP:
<?php
define ( 'MYSQL_HOST', 'localhost' );
define ( 'MYSQL_BENUTZER', 'benutzer' );
define ( 'MYSQL_KENNWORT', 'passwort' );
define ( 'MYSQL_DATENBANK', 'db' );
$db_link = mysqli_connect (MYSQL_HOST,
MYSQL_BENUTZER,
MYSQL_KENNWORT,
MYSQL_DATENBANK, '3306', '/var/run/mysqld/mysqld.sock');
mysqli_set_charset($db_link, 'utf8');
if (isset($_GET['del']) && $_GET['del'] != '') {
$sql = "delete from event where id = " . $_GET['del'] . ";";
$erg = mysqli_query($db_link, $sql);
}
$sql = "select * from event order by datum;";
$erg = mysqli_query($db_link, $sql);
echo '<table border="1">';
while ($row = mysqli_fetch_array( $erg, MYSQL_ASSOC))
{
$sql2 = "select name from pressetext where id = " . $row['presseid'] . ";";
$erg2 = mysqli_query($db_link, $sql2);
$row2 = mysqli_fetch_array($erg2, MYSQL_ASSOC);
echo "<tr>";
echo "<td>". $row['id'] . "</td>";
echo "<td>". $row['datum'] . "</td>";
echo "<td>". $row['name'] . "</td>";
echo "<td>". $row2['name'] . "</td>";
echo "<td>". $row['location'] . "</td>";
echo "<td>". $row['beginn'] . "</td>";
echo "<td>". $row['eventtyp'] . "</td>";
echo "<td>". $row['promote'] . "</td>";
echo '<td><a href="editevent.php?edit=' . $row['id'] . '">Bearbeiten</a></td>';
echo '<td><a href="listevents.php?del=' . $row['id'] . '">Löschen</a></td>';
echo "</tr>";
mysqli_free_result($erg2);
}
echo '</table>';
mysqli_free_result($erg);
?>
ersetzt mit:
PHP:
<?php
$pdo = new PDO('mysql:host=localhost;dbname=db;charset=utf8', 'benutzer', 'password');
?>
<?php
if (isset($_GET['del']) && $_GET['del'] != '') {
$sql = $pdo->query("delete from event where id = " . $_GET['del'] . ";");
}
?>
<?php $sql = $pdo->query("SELECT * FROM `event` ORDER by `datum`");
echo '<table border="1">';
?>
<ul>
<?php foreach ($sql AS $row):
?>
<?php echo "<tr>";
echo "<td>". $row['id'] . "</td>";
echo "<td>". $row['datum'] . "</td>";
echo "<td>". $row['name'] . "</td>";
echo "<td>". $row2['name'] . "</td>";
echo "<td>". $row['location'] . "</td>";
echo "<td>". $row['beginn'] . "</td>";
echo "<td>". $row['eventtyp'] . "</td>";
echo "<td>". $row['promote'] . "</td>";
echo '<td><a href="editevent.php?edit=' . $row['id'] . '">Bearbeiten</a></td>';
echo '<td><a href="listevents.php?del=' . $row['id'] . '">Löschen</a></td>';
echo "</tr>";
?>
<?php endforeach;
echo '</table>';
?>
</ul>
Wie gesagt das klappt soweit bis auf die $row2 Abfrage
Danke schon mal im Voraus für die Mithilfe.