Ich habe eine Datei namens chat.php mit einem Namespace MyApp und versuche, eine Verbindung zur Datenbank mit PDO und fügen Sie einige Daten, aber in meiner IDE bekomme ich eine Fehlermeldung Methode Ausführen nicht gefunden. Wo gehe ich falsch?PDO Ausführen nicht gefunden Fehler in PHP Sturm
Im Folgenden sind einige Teile des Codes:
<?php
namespace MyApp;
use Ratchet\MessageComponentInterface;
use Ratchet\ConnectionInterface;
use Emojione\Client;
use Emojione\Ruleset;
use \PDO;
use \PDOException;
class Chat implements MessageComponentInterface {
protected $clients;
/**
* @var \Emojione\Client
*/
private $emojioneClient;
public function __construct() {
$this->clients = new \SplObjectStorage;
/**
* Following for setting up conversion and display of native and ascii emojis
*/
$this->emojioneClient = new Client(new Ruleset());
$this->emojioneClient->imageType = 'png';
$this->emojioneClient->imagePathPNG = './assets/png/';
$this->emojioneClient->ascii = true;
$this->connect();
}
.
.
.
.
.
public function connect() {
$hostname='localhost';
$dbname = 'cryptoIM';
$username='root';
$password='';
try {
$dbh = new PDO("mysql:host=$hostname; dbname=$dbname", $username, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo 'Connected to Database<br/>';
}
catch(PDOException $e)
{
echo ('ERROR: ' . $e->getMessage());
}
}
public function insertData() {
$query = $dbh->prepare("INSERT INTO inbox(users, message, attachmentURI, timestamps) VALUES (:username, :messagetxt, :attachmentURI, :unixtime)");
$query->execute(array(
"username" => "",
"messagetxt" => "",
"attachmentURI" => "",
"unixtime" => ""
));
}
Try '$ this-> dbh = new PDO (" mysql: hos .... '' dann verwenden $ this-> dbh 'nicht' $ dbh'! –
Sie sollten den Fehler bei '$ dbh-> prepare' bekommen, da es außerhalb des Gültigkeitsbereichs für die Funktion liegt .. –
@JeffPuckettII Bei der Vorbereitung bekomme ich keine Datenquellen konfiguriert sind, diese SQL auszuführen und bereitzustellen. ... – Ayan