我正在尝试使用sqlite3_open()连接到托管在“ http://server/apr/mysqlite.db”上的SQLITE DB,但无法实现连接。我可以通过浏览器浏览器查看数据库文件。
我能够与本地计算机上可用的数据库建立连接,但是找不到任何文档来建立与http://数据库的连接。
任何人都可以帮助我在XCODE中完成SQLITE连接
答案 0 :(得分:0)
sqlite3_open()无法打开URL,只能打开本地文件。
为了使 <?php
// Include config file
require_once "config.php";
// Define variables and initialize with empty values
$username = $password = $confirm_password = "";
$username_err = $password_err = $confirm_password_err = "";
if (isset($_GET['id'])) {
echo $_GET['id'];
}
// Processing form data when form is submitted
if($_SERVER["REQUEST_METHOD"] == "POST"){
// Validate username
removed for space
// Validate password
removed for space
// Validate confirm password
removed for space
}
// Check input errors before inserting in database
if(empty($username_err) && empty($password_err) && empty($confirm_password_err)){
// Prepare an insert statement
$sql = "INSERT INTO users (username, password, referral) VALUES (?, ?, ?)";
if($stmt = mysqli_prepare($link, $sql)){
// Bind variables to the prepared statement as parameters
mysqli_stmt_bind_param($stmt, "sss", $param_username, $param_password; $param_referral);
// Set parameters
$param_username = $username;
$param_password = password_hash($password, PASSWORD_DEFAULT); // Creates a password hash
$param_referral = $id;
// Attempt to execute the prepared statement
if(mysqli_stmt_execute($stmt)){
// Redirect to login page
header("location: login.php");
} else{
echo "Something went wrong. Please try again later.";
}
}
// Close statement
mysqli_stmt_close($stmt);
}
// Close connection
mysqli_close($link);
}
?>
能够完成您想做的事情,必须满足以下条件:
可能有人在第二个要点中创建了服务,但如果有的话,您将需要一个不同的sqlite3库,该库实现相同的API,但将您的请求发送到服务器,而不是读写本地文件
如果您的用例兼容,并且该URL上有一个sqlite3数据库,则可以将其下载到本地文件,然后使用常规的sqlite3库打开它。不过,您将无法重新上传所做的任何更改。
ETA
Joakim Danielson是正确的。 Sqlite3旨在嵌入最终用户应用程序中,而不作为客户端服务器数据库管理器。值得阅读Appropriate Uses页面,上面写着:
SQLite不与客户端/服务器数据库竞争。 SQLite与
竞争sqlite3_open()