gpt4 book ai didi

mysql - Qt isOpen 方法 false 值 MySQL

转载 作者:行者123 更新时间:2023-11-30 22:29:50 24 4
gpt4 key购买 nike

我有一个 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com