Ich habe versucht, die Funktion zu teilen, um eine Tabelle zu erstellen und mit der Datenbank zu verbinden, aber die PHP-Funktion, die die Tabelle erstellt, funktioniert nicht für mich, weiß jemand, wie man dieses Problem beheben kann? Ich füge den PHP-Code und den Index bei.Ich habe ein Problem mit meinem PHP-Code, ich muss Funktion für meine Datenbank teilen
prova.php:
class db_mysqls
{
public function connect()
{
$username="username";
$password="password";
try
{
$connection = new PDO("mysql:host=localhost;dbname=ijdb",$username, $password);
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo ' <br> Connection Complete';
}
catch (PDOException $e)
{
echo 'Connection failed: ' . $e->getMessage();
}
}
public function createDB()
{
try
{
$sql="CREATE TABLE joke (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
joketext TEXT,
jokedate DATE NOT NULL)";
// use exec() because no results are returned
$connection->exec($sql);
echo "Table MyGuests created successfully";
}
catch (PDOException $e)
{
echo 'Creation failed: ' . $e->getMessage();
}
}
}
?>
index.php:
<html>
<head>
<title>Index.html</title>
</head>
<body>
Eseguo prova.php <br>
<?php
include 'prova.php';
$db = new db_mysqls();
echo 'New Database Object Created';
$db->connect();
$db->createDB();
?>
</body>
</html>
Fehlerberichte sagt was? http://php.net/manual/en/function.error-reporting.php und gibt es noch weitere Fehler, die wir kennen sollten? –
deja vu ... genau das gleiche Problem mit Scoping als eine, die ich nur früher sah, '$ connection' ist kein Mitglied der Klasse, so dass Ihre Methoden nicht darauf zugreifen können: http://stackoverflow.com/questions/41742851/Unable-to-Get-Datenbank-Abstraktion-Layer-to-Arbeit # comment70681440_41742851 – CD001
Wie kann ich den Fehler sehen? Ich erkannte, dass das nicht funktioniert, weil es nicht den verschiedenen Echo-Befehl in der Funktion der Seite druckt. –