不能使用safemysql来插入或选择DB

时间:2014-09-04 16:02:06

标签: php mysql

我正在使用Ionutvmi's登录系统,他插入数据库的方式是colshrapnel's mysql库“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->错误。

我想知道如何在“safemysql”中使用占位符以便从我的数据库中插入和选择并回显出来?

我也很难知道我得到的错误,因为这不适用于查询。

echo mysqli_errno($db->error) . ": " . mysqli_error($db->error). "\n";

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

1 个答案:

答案 0 :(得分:2)

我应该说明其他 之后忘记开始所附的括号。

进一步回答我对其他想要使用safemysql或bootstrap-login-system的读者的问题。

这是INSERT到数据库的方法。我冒昧地假设数据库已经包含具有受尊重的数组键的表作为数据库中的键。

如何插入数据库:

(0)连接数据库:

这可以通过多种方式完成。我使用了master-login-system并更改了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中的文档: query,getOne,getRow,getCol,getAll,getInd,getIndCol