当我这样做我的数据库连接时:
$conn = new MySQLi(RUBYDBUSER, RUBYDBNAME, RUBYDBPASS, RUBYDBDATA);
if($conn->errno) {
throw new Exception($conn->connect_error, $conn->connect_errno);
}
Run Code Online (Sandbox Code Playgroud)
我想运行这样的预备语句:
public function getSitename() {
$stmt = $conn->prepare("SELECT value FROM cms_options WHERE title = 'sitename' ");
$db->stmt_init();
$stmt->execute();
$stmt->bind_result($sitename);
if($stmt->num_rows > 0) {
while ($stmt->fetch) {
return $sitename;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
注意:未定义的变量:第26行的C:\ xampp\htdocs\ruby\app\includes\classes\class.core.php中的conn
查询位于class.core.php和中的连接中global.php.Class.core包含如下:
(global.php)
foreach(glob(RUBY_BASE . '/app/includes/classes/class.*.php') as $class){
include_once($class);
}
Run Code Online (Sandbox Code Playgroud)
任何答案?`
我再次,这次有一个PHP问题...我正在忙着制作某种管理面板(真的很基本)但是当我试图改变我的滑块或其他东西时,fwrite会覆盖一切.这是我的PHP代码:
<?php
$errorsslider = array();
if($_POST['slider']){
$slider_site = $_POST['slider'];
$f=fopen("../app/includes/configfunctions.php","w");
$set_slider =
"<?php
DEFINE('slider', " . $_POST['slider'] . ");
";
if (fwrite($f,$set_slider)>0){
fclose($f);
}
$errorsslider[] = "<div class='alert alert-success'><button type='button' class='close' data-dismiss='alert'>x</button>" . $LANG['admin']['global']['SliderSuccess']; "</div>";
return $errorsslider;
}
?>
Run Code Online (Sandbox Code Playgroud)
所以在我运行之前,这是我的文件:
<?php
DEFINE('slider', false);
DEFINE('login', true);
?>
Run Code Online (Sandbox Code Playgroud)
在我运行它之后,这是我的文件:
<?php
DEFINE('slider', false);
?>
Run Code Online (Sandbox Code Playgroud)
有没有人有办法解决吗?
PS不要介意代码,看起来很难看,我知道......
丽莎
我使用Anthony Ferrara的密码兼容性库,用河豚哈希密码.当我散列它们时它们很好,但是当我尝试验证密码时,执行此操作:
public function Login($username, $postpassword) {
$stmt = $this->mysqli->prepare("SELECT username, password FROM users WHERE username=? AND password=?");
$stmt->bind_param('ss', $username, $password);
$stmt->execute();
$stmt->bind_result($username, $password);
$stmt->store_result();
if($stmt->num_rows == 1) {
while($stmt->fetch()) {
if (password_verify($postpassword, $password)) {
$SESSID = $this->newSession($username);
$_SESSION['admin_user'] = $username;
$_SESSION['last_login'] = time();
header("Location: home.php?SESSID=$SESSID");
exit();
}
}
}
else {
header("Location: index.php?e=false");
exit();
}
$stmt->close();
$stmt->free_result();
}
Run Code Online (Sandbox Code Playgroud)
它告诉我,我的细节是错误的...是的,我确实定义了$username和$password:
if(isset($_REQUEST['login'])) {
$username = $_POST['username'];
$postpassword = $_POST['password'];
$users->Login($username, $postpassword);
}
Run Code Online (Sandbox Code Playgroud)
有人看到我犯的错误吗?