mysqlsqlfieldlist_Mysql语句报错Unknowncolumninfie。。。Unknown column ' ' in 'field list,主要意思就是这个字段不存在,我查了查⽹上的信息,都是指数据表字段名前⾯有空格,或者⼀些别的看不见的符号,我仔细检查了字段名,发现字段名没有问题。最后发现我的问题主要出现在字段类型和添加的数据类型不⼀致
错误⽰范,username字段是varchar类型,⽽变量解析之后由于不带单引号,嗯,不知道变成什么⿁了,在PHP⾥⾯⼀般仍然可以当成字符串⽤,但是执⾏sql语句就不⾏了。
public function insert($username, $password)
{
$this->sql = "insert into $this->table (username, password) values ($username, $password)";
return $this;
}
正确⽰范,变量$username,执⾏sql语句还必须解析完了之后再主动跟他加⼀个单引号。
public function insert($username, $password)
{
// 拼装sql语句,重点在于--->'".$username."'
$this->sql = "insert into $this->table (username, password) values ('".$username."', $password)";
}
下⾯跟问题基本没有关系了
/**
* 对Mysqli的类进⾏⼆次封装
*/
class MysqliClass extends mysqli
{
public $table; //⽤来保存操作的表名称
public $sql; //保存要执⾏的sql语句
private $action = 'other'; //当前sql执⾏的操作是什么,主要查询需要返回结果集
// 封装Mysqli的构造函数
public function __construct($dbname)
{
// 账号密码请仔细填写
parent::__construct('localhost', 'root', 'root', $dbname);
// 设置连接数据库的编码
$this->set_charset('utf8');
}
// 查询数据
public function select()
{
$this->action = 'select';
$this->sql = "select * from $this->table";
return $this;
}
// 封装⼀个添加数据⽅法
public function insert($username, $password)
{
// 告知类将要执⾏修改操作
$this->action = 'other';
/
/ 拼装sql语句,重点在于--->'".$username."'
$this->sql = "insert into $this->table (username, password) values ('".$username."', $password)";
return $this;
}
// 删除数据
public function delete($id)
{
$this->action = 'other';
$this->sql = "delete from $this->table where id = $id";
return $this;
}
/
/ 修改数据
public function update($id, $username, $password)
{
$this->action = 'other';
$this->sql = "update $this->table set username='".$username."', password=$password where id = $id"; return $this;
}
// 之所以名称不⽤query是为了仍然可以使⽤mysqli类的query⽅法执⾏sql
public function query2()
{
// 执⾏语句
$result = $this->query($this->sql);
// 判断⽤户是什么操作
if ($this->action == 'select') {
$data = [];
// 解析查询数据
foreach ($result as $key => $value) {
$two_data = [];
foreach ($value as $two_key => $two_value) {
$two_data[$two_key] = $two_value;
}
$data[$key] = $two_data;
}
return $data;
} else {
if($result) {
return $result;
} else {
// 输出语句错误信息
echo $this->error;
return false;
}
手机unknown是什么意思}
}
}
// 建⽴与数据库的连接
$db = new MysqliClass('studymysqli');
// 设置要操作的表
$db->table = 'mysqli_class';
// 1. 查询数据
// $result = $db->select()->query2();
// var_dump($result);
// 2. 添加数据,⽤时间戳替代密码,⽤来判断是否成功添加// $result = $db->insert('测试姓名', time())->query2(); // var_dump($result);
// 3. 修改数据,
/
/ 参数解释,唯⼀标识ID, ⽤户名称username, ⽤户密码password // $result = $db->update(2, '修改⽤户名称', time())->query2(); // var_dump($result);
// 4. 删除数据
// $result = $db->delete(6)->query2();
// var_dump($result);
$db->close();
>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。