gpt4 book ai didi

PHP 和 SQLite 没有这样的文件或目录?

转载 作者:行者123 更新时间:2023-11-30 23:09:15 28 4
gpt4 key购买 nike

我对数据库完全陌生,我正在尝试让我的登录页面检查数据库中的用户名和密码。我收到此错误:

警告:mysqli_connect(): (HY000/2002): 在第 11 行的/Applications/XAMPP/xamppfiles/htdocs/checklogin.php 中没有这样的文件或目录无法连接

运行 XAMPP,我尝试修改 php.ini 文件,还尝试连接到 127.0.0.1 而不是本地主机。我不确定为什么要这样做。我的 test.db 文件应该放在哪里?在与 index.html 相同的目录中?

<?php


$host="localhost"; // Host name
$username="test"; // Mysql username
$password="test"; // Mysql password
$db_name="test"; // Database name
$tbl_name="members"; // Table name

// Connect to server and select databse.
mysqli_connect("$host", "$username", "$password")or die("cannot connect");
mysqli_select_db("$db_name")or die("cannot select DB");


// username and password sent from form
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];

// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysqli_real_escape_string($myusername);
$mypassword = mysqli_real_escape_string($mypassword);
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
$result=mysqli_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);

// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){

// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("myusername");
session_register("mypassword");
header("location:login_success.php");
}
else {
echo "Wrong Username or Password";
}
?>

这也行吗?

 function getConnected($host,$username,$password,$db_name) 
{
$mysqli = new mysqli($host, $username, $password, $db_name);

if($mysqli->connect_error)
die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error());

return $mysqli;
}

$mysqli = getConnected('localhost','user','password','database');

最佳答案

连接到 SQLite

您似乎没有连接到 sqlite 数据库,因为您没有指定数据库文件的路径。试试这个小脚本,以更简洁的方式连接到您的数据库。

class Db {

private $config;
private $connection;

public function __construct()
{
$this->config = array(
'path' => 'path/to/your/database.sqlite'
);

$this->connect();
}

private function connect()
{
$connectionQuery = 'sqlite:' .$this->config['path'];

try {
$this->connection = new PDO($connectionQuery);
} catch (PDOException $e) {
echo $e->getMessage();
}

$this->connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}

public function getConnection()
{
return $this->connection;
}

}

$db = new DB();

数据库路径

将此 'path/to/your/database.sqlite' 更改为您喜欢的任何路径。

正在检索连接句柄

只需使用 $db->getConnection() 即可访问它。

关于PHP 和 SQLite 没有这样的文件或目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20576524/

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