Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在SQL数据库中插入十六进制代码_Php_Sql_Forms_Hex - Fatal编程技术网

Php 在SQL数据库中插入十六进制代码

Php 在SQL数据库中插入十六进制代码,php,sql,forms,hex,Php,Sql,Forms,Hex,我试图通过PHP将十六进制代码插入SQL数据库,但无法完成。我试图取消性爱,但没有任何效果。 输入代码: <input type="color" name="color"> 这样做: $query = "INSERT INTO kolor (color) VALUES ('$color')"; 但是要小心,因为使用这种语法有大量SQL注入,所以需要先准备请求 有关详细信息:我想您不需要UNHEX(),只需按原样存储即可 PDO是执行查询的一种安全的好方法 例如: $host =

我试图通过PHP将十六进制代码插入SQL数据库,但无法完成。我试图取消性爱,但没有任何效果。 输入代码:

<input type="color" name="color">
这样做:

$query = "INSERT INTO kolor (color) VALUES ('$color')";
但是要小心,因为使用这种语法有大量SQL注入,所以需要先准备请求


有关详细信息:

我想您不需要
UNHEX()
,只需按原样存储即可

PDO
是执行查询的一种安全的好方法

例如:

$host = '127.0.0.1';
$db   = 'test';
$user = 'root';
$pass = '';
$charset = 'utf8mb4';

$options = [
    PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    PDO::ATTR_EMULATE_PREPARES   => false,
];

$pdo = new PDO("mysql:host=$host;dbname=$db;charset=$charset", $user, $pass, $options);

$sql = "INSERT INTO `kolor` (`color`) VALUES (:color)' ";

$data = [
  "color" => $_POST['color'], 
];

$stmt= $pdo->prepare($sql);
$stmt->execute($data);

您可以在

如何准备我的请求中阅读有关
PDO
的更多信息?我用的是Phpmyadmin。你能更具体一点吗?什么不适合你?就我所理解的问题而言,您所要做的就是在数据库中存储一个十六进制颜色代码,如
#000000
,对吗?您希望它存储什么
unhex
将参数中的每对字符转换为ascii表示形式,但对于高于7F的任何字符,这都不会返回您期望的结果。HTML 5颜色输入也传递前导#,因此如果您试图将其转换为RGB值/etc,则需要首先对其进行修剪。回答Simon的问题:是,这是对Iainn问题的全部回答:我想存储十六进制颜色代码,如#000000或#FFFFFF@NiceGuy在回应某人时,您需要像我在这里为您所做的那样,使用
@member
方法ping它们。他们可能已经不在了。
$host = '127.0.0.1';
$db   = 'test';
$user = 'root';
$pass = '';
$charset = 'utf8mb4';

$options = [
    PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    PDO::ATTR_EMULATE_PREPARES   => false,
];

$pdo = new PDO("mysql:host=$host;dbname=$db;charset=$charset", $user, $pass, $options);

$sql = "INSERT INTO `kolor` (`color`) VALUES (:color)' ";

$data = [
  "color" => $_POST['color'], 
];

$stmt= $pdo->prepare($sql);
$stmt->execute($data);