<?
$tid=(int)$_GET['tid'];
$title = $_GET['title'];
if($_SERVER['REQUEST_METHOD']=='POST')
{
$Name = $_POST['Name'];
$event_id;
$link = sql_open();
$res = sql_query("SELECT * FROM event WHERE `id`='$tid'", $link);
$row = sql_fetch_row($res);
if($row!==FALSE)
{
$event_id=$row[0];
sql_free_result($res);
}
sql_query("INSERT INTO event_register (`eventid`,`fullname`) VALUES ('$event_id','$Name'", $link);
sql_close($link);
?>
<!--以下是post name代码不贴了-->
我var_dump eventid为 null,插入数据后还是null. 为什么啊?但是tid又有值.就连 event_id=$_GET['tid']; event_id都是null....彻底迷糊了!!望高手解答
我在页面中var_dump $tid 是可以看到值,这说明get没错.
1楼大侠".$tid.",加2点结果还是一样.同时单引号是要加的.不加出错
2楼大侠你说数据库连接问题.我name值可以正常写入,但是event_id就是0
3楼大侠我在仔细找了没有第二个tid啊,就算我改成bid结果也是一样的.
总之就是好像 tid要赋值给event_id就会变成null.我同意也怀疑
if($row!==FALSE)
{
$event_id=$row[0];
sql_free_result($res);
}
有问题,但是我看不懂这三句是什么意思,同时我也看不懂为什么
$Name = $_POST['Name'];
$event_id; <----这句是什么意思?
$tid=(int)$_GET['tid'];
$title = $_GET['title'];
就取不到值了.
这种情况应该在表单隐藏两个hidden的input存储tid及title
$tid有值是不是0啊?
$res = sql_query("SELECT * FROM event WHERE id='".$tid."'", $link);
没有试验,不过怀疑:
sql_query("INSERT INTO event_register (`eventid`,`fullname`) VALUES ('$event_id','$Name'", $link);这部分中的变量的单引号不知道是不是要加。你可以试试。
$link = sql_open();
$res = sql_query("SELECT * FROM event WHERE `id`='$tid'", $link);
$row = sql_fetch_row($res);
这三句里面了。
1、查看你的数据库是否正确连接了。
2、数据库操作方法是否正确。
3、检查sql代码。 id = '$tid' id是int型则不需要加上单引号的。