我使用的是Ionutvmi's登录系统,他插入数据库的方式是colshrapnel'smysql库“safemysql”。它看起来很好,但我不能插入或选择。我尝试过使用一些示例,也尝试过使用一些Ionutvmi的代码进行插入,但它不起作用。
这有效(不是我的代码):

if($db->getRow("SELECT `userid` FROM `".MLS_PREFIX."users`
WHERE `email` = ?s", "someuser@gmail.com"))
echo  "Email already in use !";

这不起作用:
  $user_data = array(
  'name' => $name,
  'headline' => $headline,
  'category' => $category,
  'telephone' => $telephone,
  'email' => $email,
  'token' => $token,
  'price' => $price,
  );

if(($db->query("INSERT INTO `".MLS_PREFIX."ad` SET ?u", $user_data)) ) {
    $page->success = 1;
} else
    $page->error = "There was an error with db ! Please try again !";
}

它总是显示$page->error。
我想知道如何使用“safemysql”中的占位符,以便从数据库中插入、选择和回显?
也很难知道我得到了什么错误,因为这不适用于查询。
echo mysqli_errno($db->error) . ": " . mysqli_error($db->error). "\n";

Ps:我使用的所有东西都是由“safemysql”创建的,我包含了使用“safemysql”的master-login-system中的init.php

最佳答案

我应该说,答案是忘了把括号放在其他括号之后。
为了进一步回答我的问题,其他读者想使用safemysql或bootstrap登录系统。
这就是您可以插入数据库的方式。我冒昧地假设数据库中已经包含了一个表,其中包含了作为数据库中键的受尊敬的数组键。
如何插入数据库:
(0)连接到数据库:
这可以通过几种方式来实现。我使用主登录系统并更改了settings.php

// database details
$set->db_host = 'localhost'; // database host
$set->db_user = 'root'; // database user
$set->db_pass = ''; // database password
$set->db_name = 'mls'; // database name
define('MLS_PREFIX', 'mls_');

然后我将init.php包含到我的文件中。
<?php
include "init.php";

(1)创建数组:
$user_data = array(
'name' => $name,
'headline' => $headline,
'category' => $category,
'telephone' => $telephone,
'email' => $email,
'token' => $token,
'price' => $price,
);

(2)插入数据库。
if ($db->query("INSERT INTO `table` SET ?u", $user_data)){
  echo "success!";
} else {
  echo "error, could not insert to db!";
}

如何从数据库中选择:
(0)safemysql有指南。虽然一开始我不太明白,但这就是如何选择:
$name = $db->getOne('SELECT email FROM mls_ad WHERE name = ?s','Doloris Patsburgh');
echo $name->scalar;

要获取数据,这些是最常用的帮助函数。但请阅读safemysql中的文档:
查询,getOne,getRow,getCol,getAll,getInd,getIndCol

关于php - 无法使用safemysql插入或选择数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25670091/

10-11 03:32
查看更多