php - Sql 不接受 php 中的值

标签 php mysql sql

php

 $dnumber = '9515551212';
 $device_id = 'f3847010927038970110923';  

设备是一个文本字段 phnum(我使用过 bigint、text、varchar)都给出相同的结果。

 mysql_query("INSERT INTO devices(device, phnum) VALUES('$device_id', '$dnumber')");

上面的查询是 TRUE,但 phnum 中的值将为空。

 mysql_query("INSERT INTO devices(device, phnum) VALUES('$device_id', $dnumber)");

上面的查询是FALSE,但它仍然完美地插入记录!我还在“)”附近收到错误 1064(我删除了 $dnumber 中的引号)

那么为什么第一个说它成功但没有在其中放置任何内容,而第二个说它失败但它按照我想要的方式插入了它?

最佳答案

我认为,传入的数据有问题。 SQL 运行良好。

我尝试了来自 php 的查询:

$sql = "INSERT INTO test(device_id, phnum) VALUES('$device_id', '$dnumber')";
$res = mysql_query($sql);

对于具有以下结构的表:

CREATE TABLE `test` (
  `phnum` int(30) unsigned NOT NULL AUTO_INCREMENT,
  `device_id` varchar(256) NOT NULL DEFAULT '',
  PRIMARY KEY (`phnum`)
) ENGINE=InnoDB AUTO_INCREMENT=4294967295 DEFAULT CHARSET=utf8;

它运行良好,没有任何警告。从 SQL 客户端 - 相同,运行良好。

关于php - Sql 不接受 php 中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18796594/

相关文章:

php - 使用 AJAX/JQUERY 的简单 Crud

java - Web 服务器上的 Php 或 Java

php - 社交引擎中的 PHP session

python - 使用 Flask REST API 将三个参数传递给 MySQL

sql - 我可以依靠支票约束来确保非负余额吗?

php - 如何映射从联接返回的匹配记录而不是单独的行

php - echo替代$_GET请求方式

php - 如何通过其自己的加密值更新每一行

php - 使用 mysql 从表的内容中获取搜索键的最大可能值

sql - 在单个查询中使用 "Order by"两次