我有一个 MySQL 数据库,是在 Workbench 中创建的。我可以使用 PHP 代码轻松连接到它:
<?php
$host = "localhost";
$port = 3306;
$socket = "";
$user = "hate";
$password = "88005553535";
$dbname = "galleries_db";
$con = new mysqli($host, $user, $password, $dbname, $port, $socket)
or die ('Could not connect to the database server' . mysqli_connect_error());
echo "DONE!";
?>
但是当我尝试像这样使用 Qt 连接到我的数据库时:
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setPort(3306);
db.setDatabaseName("galleries_db");
db.setUserName("hate");
db.setPassword("88005553535");
db.open();
if(!db.isOpen()) {
ui->label->setText("-");
qDebug() << "Error: "<< db.lastError() << " " << db.lastError().text();
}
else
ui->label->setText("+");
isOpen 方法总是返回错误值。在流中我有:
Error: QSqlError("", "", "") " "
可能是 Qt 的 MySQL 驱动程序有问题?或者还有别的东西? 会感谢任何帮助或建议。
最佳答案
应该有:
if(db.isOpen())
不是:
if(!db.isOpen())
实际上这是一个非常愚蠢的错误。 isOpen 总是返回真值,而我自己将其设为假。
关于mysql - Qt isOpen 方法 false 值 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34162811/