嗨,我正在将数据插入数据库,这将保存两次相同的数据,只有用户名正在保存两次,我只想保存一次,我也想保存地址
$users = array("username"=>"Kaleem", "adrress"=>"abc");
class dbase{
public function dbinsert($table,$users)
{
foreach ($users as $key => $value)
{
$sql = "INSERT INTO $table (`$key`) VALUES ('$value')";
$this->conn->query($sql);
if($this->conn->query($sql))
{
echo "Data inserted";
}
}
}
public function __construct ()
{
$this->conn = new mysqli('localhost','root','','dbase');
if($this->conn)
{
echo "Connected
";
}
}
}
$obj = new dbase;
$obj->dbinsert('users',$users);
?>
参考方案
问题是您两次调用查询函数。
$this->conn->query($sql); // saves the first time
if($this->conn->query($sql)) // saves the second time
{
echo "Data inserted";
}
为避免查询被两次调用,您可以将查询结果保存到变量中并在if中进行检查。
当前,您正在将users数组的每个字段保存在自己的数据集中,因为您正在从foreach循环中的每个字段上调用查询函数。
试试这个:
$users = array( // this array is for the users
array("username"=>"Kaleem", "adrress"=>"abc"), // this is one user
array("username"=>"Mickey Mouse", "adrress"=>"Test street"),
);
class dbase{
public function dbinsert($table,$users)
{
foreach ($users as $key => $value)
{
// Extract field names
$fields = implode("`, `", array_keys ( $users[$key] );
// Extract values
$values = implode("', '", array_values ( $users[$key] );
$sql = "INSERT INTO $table (`" . $fields . "`) VALUES ('". $values ."')";
// Check if query was succesfull
$success = $this->conn->query($sql);
if($success)
{
echo "Data inserted";
} else { // if no success display error message
echo "Error while saving";
}
}
}
public function __construct ()
{
$this->conn = new mysqli('localhost','root','','dbase');
if($this->conn)
{
echo "Connected
";
}
}
}
$obj = new dbase;
$obj->dbinsert('users',$users);
?>
PHP:从函数返回值并直接回显它? - php
这可能是一个愚蠢的问题,但是……的PHPfunction get_info() { $something = "test"; return $something; } html
我编写了以下微型php程序来测试printf和sprintf:<?php $str_1 = printf("%x%x%x", 65, 127, 245); $str_2 = sprintf("%x%x%x", 65, 127, 245); echo $str_1 . "\n"; echo $s…PHP:如何从JSON数组获取属性? - php
我有以下JSON数组:使用PHP,如何从上面的JSON数组中获取geometery->location->lat&lng值?例如(伪代码):<?php $json = { "status": "OK", "results": [ { "types": [ …使用jQuery将值增加到attr - php
我想增加i的值。 “ for”循环不起作用。$("a[href$='.xls']").appendTo(".xl1").attr('id','xl'+i); 我搜索所有excel文件,并将它们放在容器中并增加其id的值。谢谢吉恩 参考方案 $("a[…PHP-全局变量的性能和内存问题 - php
假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…