相关疑难解决方法(0)

MySQL - 忽略插入错误:重复条目

我在PHP工作.

请问将新记录插入到具有唯一字段的DB中的正确方法是什么.我正在批量插入大量记录,我只想插入新的记录,我不希望重复条目有任何错误.

有没有办法首先进行SELECT并查看INSERT之前是否已经存在该条目 - 并且只有当SELECT不返回记录时才进行INSERT?我希望不是.

我想以某种方式告诉MySQL忽略这些插入而没有任何错误.

谢谢

php mysql insert

75
推荐指数
1
解决办法
12万
查看次数

如何在php中创建一个安全的mysql预处理语句?

我是新手在php中使用mysql中的预处理语句.我需要一些帮助来创建一个准备好的语句来检索列.

我需要从不同的列中获取信息.目前,对于测试文件,我使用完全不安全的 SQL语句:

$qry = "SELECT * FROM mytable where userid='{$_GET['userid']}' AND category='{$_GET['category']}'ORDER BY id DESC"
$result = mysql_query($qry) or die(mysql_error()); 
Run Code Online (Sandbox Code Playgroud)

有人可以使用来自url参数(如上所述)的输入来帮助我创建一个安全的 mysql语句吗?

奖励:准备好的陈述也可以提高速度.如果我只在页面上使用三到四次准备好的声明,它会提高整体速度吗?

php mysql security

27
推荐指数
3
解决办法
6万
查看次数

在mysqli中插入许多值的最佳方法是什么?

我正在寻找一种SQL注入安全技术,用PHP和MySQLi一次插入大量行(约2000).
我有一个包含所有必须包含的值的数组.目前我正在这样做:

<?php
$array = array("array", "with", "about", "2000", "values");

foreach ($array as $one) 
{
    $query = "INSERT INTO table (link) VALUES ( ?)";
    $stmt = $mysqli->prepare($query);
    $stmt ->bind_param("s", $one);
    $stmt->execute();
    $stmt->close();
}
?>
Run Code Online (Sandbox Code Playgroud)

我尝试了call_user_func_array(),但它导致了stackoverflow.

有什么更快的方法可以做到这一点(比如一次插入所有这些?),但仍然可以防止SQL注入(如预处理语句)和stackoverflows?
谢谢!

php mysql mysqli

12
推荐指数
2
解决办法
3万
查看次数

标签 统计

mysql ×3

php ×3

insert ×1

mysqli ×1

security ×1