繁体   English   中英

无法将ID插入MySQL表

[英]Cannot Insert ID into MySQL Table

我想做的是允许用户创建一个表,并且我要将用户的userID添加到表的第一行中,以便以后可以访问它。 但是,当尝试插入ID时,我不断收到一条错误消息,提示我无法添加它。 这是我的代码:

<?php
    @ $db = new mysqli('localhost', 'root', 'secret', 'Pokemon'); //open db
    if ($db->connect_error) { 
        echo 'ERROR: Could not connect to database, error is '. $db->connect_error;
        exit;
    } else {
        echo 'Successful connection established<br />';
    }

    $deckName = stripslashes($_POST['deckName']); //sql sanitize for each input.
    $deckName = $db->real_escape_string($deckName);

    $checkQuery = "SELECT userID FROM userInfo WHERE userEmail = ?";

    $checkStmt = $db->prepare($checkQuery);

    $checkStmt->bind_param("s", $SESSION['userEmail']);

    $checkStmt->execute();

    if ( ($checkStmt->errno <> 0) || ($checkStmt->num_rows > 0) )
    {
    $checkStmt->close();
    echo 'ERROR: Something is wrong';
    exit;
    }

    $res = $checkStmt->get_result();

    $row = $res->fetch_assoc();

    $checkStmt->close();

    $query = "CREATE TABLE `".$deckName."` (userID int(3), pokeID int(3), pokeName varchar(20), quantity int(1), 
    PRIMARY KEY (userID) )";

    $stmt = $db->prepare($query);

    $stmt->execute();

    if ($stmt->errno <> 0)
    {
      $stmt->close();
      $db->close();
      echo 'ERROR: Could not create table';
      exit;
    }

    $stmt->close();

    $query = "INSERT INTO `".$deckName."` (userID) VALUES(?)";

    $stmt = $db->prepare($query);

    $stmt->bind_param("i", $row['userID']);

    $stmt->execute();

    if ($stmt->errno <> 0)
    {
      $stmt->close();
      $db->close();
      echo 'ERROR: Could not add to database';
      exit;
    }

    $stmt->close();

    $db->close();   


    header("Location: viewCards.php"); 
?>

它创建表,但不会插入用户ID。 我已经尝试过查找问题的根源,并且如果可能的话,我希望有新的眼光。

使用$_SESSION['userEmail']代替$SESSION['userEmail']并且没有session_start()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM