Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.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 字符串或二进制数据将被截断_Php_Sql_Odbc - Fatal编程技术网

Php 字符串或二进制数据将被截断

Php 字符串或二进制数据将被截断,php,sql,odbc,Php,Sql,Odbc,设置游戏网站时,我在注册页面上遇到了一个问题警告:odbc_exec():SQL错误:[Microsoft][odbc SQL Server驱动程序][SQL Server]字符串或二进制数据将被截断,SQL状态22001在C:\root\htdocs\sites\regist.php的SQLExecDirect中,位于第107行 并试图找出解决方法 已尝试将数据库中的[char]更改为[varchar],但未解决此问题 EXEC [' . $_CONFIG['db_databases']['a

设置游戏网站时,我在注册页面上遇到了一个问题警告:odbc_exec():SQL错误:[Microsoft][odbc SQL Server驱动程序][SQL Server]字符串或二进制数据将被截断,SQL状态22001在C:\root\htdocs\sites\regist.php的SQLExecDirect中,位于第107行 并试图找出解决方法

已尝试将数据库中的[char]更改为[varchar],但未解决此问题

EXEC [' . $_CONFIG['db_databases']['acc'] . '].[dbo].[usp_createAccount]
@account=\'' . $account . '\', @pw=\''.$md5pw.'\', @email=\''.$email.'\', 
@gefra=\''.$gefra.'\', 
@geant=\''.md5($_CONFIG['security_secretAnswerSalt'].$geant).'\', 
@birthday=\''.date($_CONFIG['web_date_format']['date'], strtotime($birthday)).'\', 
@ip = \'' . $_SERVER['REMOTE_ADDR'] . '\', 
@lang=\'' . $_CONFIG['web_default_lang'] . '\'

您的表行小于您尝试插入的值,因此数据被截断。在没有看到实际的表DDL和SQL查询的情况下,很难判断哪些行和哪些值,但通过一些调试,这应该很简单。
在执行之前将实际的SQL查询转储到一个变量是有意义的-为了调试目的和代码可读性。

发布变量替换后生成的查询。