php post 字符串异常,PHPPOST上传,无法读取上传的字符串

博客内容讲述了使用C#的WebClient类向PHP服务器发送数据时遇到的问题。作者尝试通过URL参数(GET)和POST方式传递变量name,但在PHP端无法正确获取并插入数据库。讨论中提到了可能是由于请求方法不匹配、主键冲突或SQL语句格式错误导致的。建议检查请求方式、变量获取和数据库操作是否正确。
摘要由CSDN通过智能技术生成

本地c#写的 用WebClient类http://1.liuruitao.sinaapp.com/test.php?name={0}通过这个url上传的,网页那边

if($_SERVER['REQUEST_METHOD']=="POST")

{

// $s=json_encode($_post)

$s=$_GET["name"];

echo "hello world!!";

echo $_POST["name"];

$conn=mysql_connect(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS);

if(!$conn)

die("connect fail".mysql_error());

mysql_select_db('app_liuruitao',$conn);

$sql = "insert into $db values ('3344556677',$s,3,'4',5,'6','7','8','9')";

mysql_query($sql,$conn);//借SQL语句插入数据

mysql_close();//关闭MySQL连接

echo "insert success";

}

就是无法正确获取上传的name里面的字符串插入到数据库中,大家帮帮忙谢谢了

回复讨论(解决方案)

echo $_POST["name"];改为print_r($_REQUEST);试一下

是无法获取值还是无法插入值?

是无法获取值还是无法插入值? 感觉是得到一个值了,但是这个值我不能确定是什么,他往数据库里面插不进去,好像是类型问题

echo $_POST["name"];改为print_r($_REQUEST);试一下 可以试不了啊代码放人家服务器上了,他执行我不能控制啊

http://1.liuruitao.sinaapp.com/test.php? name={0}

显然 name 应从 $_GET 数组获取

$s=$_GET["name"];

$sql = "insert into $db values ('3344556677',$s,3,'4',5,'6','7','8','9')";

估计问题在这里

一般建表时都有一个字段作为唯一的主键,而主键是不能赋重复值的,不然就不是唯一了

如果主键是自增的话,那么缺省字段列表就可能出错

http://1.liuruitao.sinaapp.com/test.php?name={0}

显然 name 应从 $_GET 数组获取

$s=$_GET["name"];

$sql = "insert into $db values ('3344556677',$s,3,'4',5,'6','7','8','9')";

估计问题在这里

一般建表时都有一……[/quote客户端发送的时候用的是POST发送的这个,还是用GET吗

http://1.liuruitao.sinaapp.com/test.php?name={0}

显然 name 应从 $_GET 数组获取

$s=$_GET["name"];

$sql = "insert into $db values ('3344556677',$s,3,'4',5,'6','7','8','9')";

估计问题在这里

一般建表时都有一……

我客户端用的是POST发送的,还是用GET吗接收

写在 url 中的就用 $_GET

$_POST 只获取 POST 方法传递的数据(除了上传文件)

写在 url 中的就用 $_GET

$_POST 只获取 POST 方法传递的数据(除了上传文件)

改成get也不行,那个数据库哪里可以插入的,我每次都是改一次值然后插入的,没有重复主键

$s=$_GET["name"];

echo $s;

exit();

这样有输出吗

$s=$_GET["name"];

echo $s;

exit();

这样有输出吗

没有,他只有在请求这个页面时这个程序才跳进去去读,没有上传请求他就进不了IF语句

$sql = "insert into $db values ('3344556677', $s,3,'4',5,'6','7','8','9')";

如果 $s 无值,那么实际执行的 SQL指令为

insert into 表名 values ('3344556677',,3,'4',5,'6','7','8','9')

显然是错误的

可通过

mysql_query($sql,$conn) or die(mysql_error());

知道这种情况是否存在

另外

$sql = "insert into $db values ('3344556677',$s,3,'4',5,'6','7','8','9')";

应写作

$sql = "insert into $db values ('3344556677', '$s',3,'4',5,'6','7','8','9')";

以免意外的发生

$s=$_GET["name"];

echo $s;

exit();

这样有输出吗

我sizeof($s)存数据库里面是1

$sql = "insert into $db values ('3344556677',$s,3,'4',5,'6','7','8','9')";

如果 $s 无值,那么实际执行的 SQL指令为

insert into 表名 values ('3344556677',,3,'4',5,'6','7','8','9')

显然是错误的

可通过

mysql_quer……

嗯,你说的这2个问题我已经改了,后边我sizeof($s)把结果存数据库结果是1从这里可以看出来什么问题不

本地服务器上可以正确获取发送的字符串,放在新浪哪里就不行了............看来应该是他们的平台有些规定吧... 本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值