Php 在SQL数据库中插入十六进制代码
我试图通过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 =
<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);