php - 我试图用codeigniter连接mysql数据库,但它看起来像这样
问题描述
当我尝试连接到 mysql 数据库时出现此错误:
遇到 PHP 错误 严重性:警告
消息:mysqli::real_connect(): (HY000/1044): 用户 ''@'localhost' 拒绝访问数据库 'calendar_events'
文件名:mysqli/mysqli_driver.php
行号:203
回溯:
文件:C:\xampp2\htdocs\fullcalendar\application\controllers\Calendar.php 行:7 功能:__construct
文件:C:\xampp2\htdocs\fullcalendar\index.php 行:315 功能:require_once
1.index.php(查看)
<html lang="en">
<head>
<title>Calendar Display</title>
<script src="<?php echo base_url(); ?>assets/fullcalendar/lib/moment.min.js"></script>
<script src="<?php echo base_url(); ?>assets/fullcalendar/lib/jquery-ui.min.js"></script>
<script src="<?php echo base_url(); ?>assets/fullcalendar/lib/jquery.min.js"></script>
<link rel="stylesheet" href="<?php echo base_url(); ?>assets/fullcalendar/fullcalendar.min.css" />
<script src="<?php echo base_url(); ?>assets/fullcalendar/fullcalendar.min.js"></script>
<script src="<?php echo base_url(); ?>assets/fullcalendar-3.9.0/locale/es.js"></script>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-12">
<h1>Calendar</h1>
<div id="calendar">
</div>
</div>
</div>
</div>
<!--<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>-->
<script type="text/javascript">
$(document).ready(function() {
$('#calendar').fullCalendar({
eventSources: [
{
events: function(start, end, timezone, callback) {
$.ajax({
url: '<?php echo base_url() ?>calendar/get_events',
dataType: 'json',
data: {
// our hypothetical feed requires UNIX timestamps
start: start.unix(),
end: end.unix()
},
success: function(msg) {
var events = msg.events;
callback(events);
}
});
}
},
]
});
});
</script>
<style>
#calendar{
width: 800px;
margin: 0px auto;
}
</style>
</body>
</html>
- Calendar_model.php
class Calendar_model extends CI_Model {
public function __construct()
{
parent::__construct();
$this->load->database();
}
public function get_events($start, $end){
return $this->db->where("start >=", $start)->where("end <=", $end)->get("calendar_events");
}
public function add_event($data)
{
$this->db->insert("calendar_events", $data);
}
public function get_event($id)
{
return $this->db->where("ID", $id)->get("calendar_events");
}
public function update_event($id, $data)
{
$this->db->where("ID", $id)->update("calendar_events", $data);
}
public function delete_event($id)
{
$this->db->where("ID", $id)->delete("calendar_events");
}
}
Calendar.php(控制器)
类日历扩展 CI_Controller {
public function __construct() { parent::__construct(); $this->load->model("calendar_model"); } public function index() { $this->load->helper('url'); $this->load->view('index', array()); } public function get_events() { // Our Start and End Dates $start = $this->input->get('start'); $end = $this->input->get('end'); $startdt = new DateTime('now'); // setup a local datetime $startdt->setTimestamp($start); // Set the date based on timestamp $start_format = $startdt->format('Y-m-d H:i:s'); $enddt = new DateTime('now'); // setup a local datetime $enddt->setTimestamp($end); // Set the date based on timestamp $end_format = $enddt->format('Y-m-d H:i:s'); $events = $this->calendar_model->get_events($start_format, $end_format); $data_events = array(); foreach($events->result() as $r) { $data_events[] = array( "id" => $r->ID, "title" => $r->title, "description" => $r->description, "end" => $r->end, "start" => $r->start ); } echo json_encode(array("events" => $data_events)); exit(); }
}
解决方案
问题可能不在您显示的任何代码中。错误消息是说您在数据库配置(localhost)中指定的用户没有使用calendar_events
数据库的权限。
这是一个数据库设置问题,而不是 CodeIgniter 问题。
如何调整数据库的用户权限将取决于可用于管理数据库的工具。
推荐阅读
- apache-spark - Spark Structured Streaming:将流与应在每个微批处理中读取的数据连接起来
- encryption - 尝试使用 PBE(PBEWITHSHA1ANDDESEDE) 解密密码时遇到问题
- c# - 通过 Xamarin.Forms 中 WebView 中的 Javascript onClick 事件调用 C# 函数
- java - Java 编译错误:列表
无法转换为 ArrayList - python - Python3从德语字符串中删除多个连字符
- vba - 自动填充到相邻单元格
- android - UIAutomator 无法检测到下拉列表
- symfony - Symfony Gedmo 树
- android - Trying to set maxLength in EditText, but characters can still go beyond max
- php - Symfony 发表一篇文章有一个小时的手册