php调用javascript变量,echo显示已经赋值,但不能存入数据库,如果在PHP中对变量赋值就可以,为什么?

<html><head><linkhref="./css/main.css"rel="stylesheet"type="text/css"media="screen"/>... <html>
<head>
<link href="./css/main.css" rel="stylesheet" type="text/css" media="screen" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>

<script type="text/javascript">

var temp="77777"

</script>

<?php

$today = date("Ymd");
$temp="<script type=text/javascript>document.write(temp)</script>";

$con = mysql_connect(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS);if(!$con){ die('could not connect:'.mysql_error()); }mysql_select_db(SAE_MYSQL_DB,$con);

mysql_query("set names UTF-8");
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET COLLATION_CONNECTION='utf8_general_ci'");

$tem = strval(trim($temp));
echo $tem;

$query="INSERT INTO sh601390T (orderdate,stockprice) values ($today,$tem)";
mysql_query($query);
mysql_close($con);

?>

</body>
</html>

补充:$today 可以插入数据库,$tem不可以,如果不调用javascript,直接赋值给$stem,可以插入,说明php调用javascript变量有问题,但是echo $tem确已经赋值成功,为什么呢?
展开
 我来答
百度网友2da2aea
2015-09-28 · TA获得超过470个赞
知道小有建树答主
回答量:475
采纳率:0%
帮助的人:393万
展开全部
你别搞错php和javascript的执行顺序了. php是脚本语言, 先于javascript, 所以你输出的$tem不是77777, 而是 "<script type=text/javascript>document.write(temp)</script>
", 只是在页面上看, 是显示77777,
而插入数据库事变, 是因为stockprice这个变量不是varchar之类的变量, 不能输入字符串, 所以插入失败..
更多追问追答
追问
$tem = strval(trim($temp));
echo $tem;
这个语句显示已经赋值给$tem成功,我插入的是$tem,数据库里面设置的是varchar变量,我也试着改成text类型,如果在php内不调用javascript变量能插入,调用则不可以。
追答
不是很懂你的表达. 
看你这段的意思, 大概是要存入一个支付日期和一个支付价格给数据库, 如果是要从页面传值到php程序的话, 应该用 ajax来传递, 而不是用你这样的逻辑来做..
用ajax, php程序通过$_POST 或者$_GET来过去相关的变量..
去查下相关的ajax知识吧..
yugi111
2015-09-28 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
$temp="<script>document.write(temp)</script>";
追问
不是这个问题,script 可以不用声明type,请亲自调用变量存入数据库。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式