将MySQLi查询存储在PHP变量中

用户名

我正在尝试将MySQL查询传递给变量,但是它没有正确存储它。我想将查询结果存储为字符串。

这是我的尝试:

$authorid = $db->query("SELECT Author_ID FROM Authors WHERE Author_Name = '$author'");

该查询在PHPMyAdmin中可以正常工作,因此我知道它返回了正确的信息,但是我不确定这是否是存储它的正确方法。

我试图为此使用它:

$authoredquery = $db->query("SELECT Author_ID, Article_ID 
FROM Articles_Authored 
WHERE Author_ID = '$authorid' AND Article_ID ='$articleid'");

所有查询的拼写正确。我觉得这会将查询结果存储为字符串。

这是提交表单后运行的php代码的一部分:

    $dbHost = "localhost";
    $dbUsername = "admin";
    $dbPassword = "qegc0Qfs";
    $dbName = "webdb";

    // Create connection
    $db = new mysqli($dbHost, $dbUsername, $dbPassword, $dbName);
    // Check connection
    if ($db->connect_error) {
    die("Connection failed: " . $db->connect_error);
    } else {
    // Post PHP variables
    $journal = $_POST['journal_radio'];
    $article_name = $_POST['article_name'];
    $author1 = $_POST['author1_name'];
    $author1uni = $_POST['author1_university'];
    $author2 = $_POST['author2_name'];
    $author2uni = $_POST['author2_university'];
    $author3 = $_POST['author3_name'];
    $author3uni = $_POST['author3_university'];
    $author4 = $_POST['author4_name'];
    $author4uni = $_POST['author4_university'];
    $author5 = $_POST['author5_name'];
    $author5uni = $_POST['author5_university'];
    $author6 = $_POST['author6_name'];
    $author6uni = $_POST['author6_university'];
    $year = $_POST['year'];
    $security = $_POST['is_security'];
    function authorinfoinsert($author, $number, $authoruni, $articleid, $article, $db){
            //check if Author already exists
            $authorquery = $db->query("SELECT Author_Name FROM Authors WHERE Author_Name = '$author'");
            if($authorquery->num_rows != 0) {
               echo '<a href="> New Input </a><br />';
               echo 'Author ' . $number . ' - ' . $author . ' - already present<br />';

            } else {
                //insert author if doesnt exist
                $authorinsert = "INSERT INTO Authors (Author_Name) VALUES ('$author')";

                if ($db->query($authorinsert) === TRUE) {
                echo 'Author ' . $number . ' - ' . $author . ' - created successfully.<br />';
                } else {
                echo 'Error: ' . $authorinsert . '<br />' . $db->error . '<br />';
                }
              }

            // store Author Author_ID value

            $authorid = $db->query("SELECT Author_ID FROM Authors WHERE Author_Name = '$author'");


            //check if Author University exists
            $authoruniquery = $db->query("SELECT University_Name FROM University WHERE University_Name = '$authoruni'");

            if($authoruniquery->num_rows != 0) {
               echo '<a href=""> New Input </a><br />';
               echo 'Author ' . $number . ' University already present <br />';

            } else {
                //insert university if doesnt exist
                $uniinsert = "INSERT INTO University (University_Name) VALUES ('$authoruni')";

                if ($db->query($uniinsert) === TRUE) {
                echo 'Author ' . $number . ' University - ' . $authoruni . ' - created successfully.<br />';
                } else {
                echo 'Error: ' . $uniinsert . "<br>" . $db->error . '<br />';
                }
              }

            // store Author University_ID value
            $authoruniid = $db->query("SELECT University_ID FROM University WHERE University_Name = '$authoruni'");
            echo $authoruniid;
            //Enter Author and Article in Articles_Authored
            $authoredquery = $db->query("SELECT Author_ID, Article_ID FROM Articles_Authored WHERE Author_ID = '$authorid' AND Article_ID ='$articleid'");
            if($authoredquery->num_rows != 0) {
               echo '<a href=""> New Input </a><br />';
               echo 'Article Authored entry for Author ' . $number . ' - ' . $author . ' - already present<br />';

            } else {
            $articlesauthoredinsert = "INSERT INTO Articles_Authored (Article_ID, Author_ID, Name_Authored_As) VALUES ('$articleid','$authorid','$author')";

                if ($db->query($articlesauthoredinsert) === TRUE) {
                echo 'Article Authored - Author ' . $number . ' - created successfully <br />';
                } else {
                echo 'Error: ' . $articlesauthoredinsert . "<br>" . $db->error . '<br />';
                }
            }

            //Enter Author University instance in Author_University
            $authoruniinsert = "INSERT INTO Author_University (Article_ID, Author_ID, University_ID) VALUES ('$articleid','$authorid','$authoruniid')";

                if ($db->query($authoruniinsert) === TRUE) {
                echo 'University instance for Author ' . $number  . ' created successfully<br />';
                } else {
                echo 'Error: ' . $authoruniinsert . "<br>" . $db->error . '<br />';
                }
            }

我将args传递给这样的函数:

authorinfoinsert($author1, 1, $author1uni, $articleid, $article, $db);

如果有帮助,这里是所有代码。抱歉,我知道很多:

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Input Form - Research Ranker</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
   <script>
  $(function() {
    $( "#article_name" ).autocomplete({
   </head>
      
<body>



<?PHP
 
if(!isset($_POST['submit'])){
    print '
	<div class="container-fluid ui-widget">


	<form class="form-horizontal" method="post" action="test.php" onsubmit="return confirm("Is all of your data correct?");">
	<fieldset>

	<!-- Article Input -->
	<legend>Article Input</legend>

	<!-- Journal Radio Buttons (value is journal ISSN)-->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="journal_radio">Journal</label>
	  <div class="col-md-4">
	  <div class="radio">
		<label for="journal_radio-0">
		  <input type="radio" name="journal_radio" id="journal_radio-0" value="2162-9730" checked="checked">
		  MIS Quarterly
		</label>
	  </div>
	  <div class="radio">
		<label for="journal_radio-1">
		  <input type="radio" name="journal_radio" id="journal_radio-1" value="1047-7047">
		  Information Systems Research
		</label>
	  </div>
	  <div class="radio">
		<label for="journal_radio-2">
		  <input type="radio" name="journal_radio" id="journal_radio-2" value="0742-1222">
		  Journal of Management Information Systems
		</label>
	  </div>
	  <div class="radio">
		<label for="journal_radio-3">
		  <input type="radio" name="journal_radio" id="journal_radio-3" value="1536-9323">
		  Journal of the Association for Information Systems
		</label>
	  </div>
	  <div class="radio">
		<label for="journal_radio-4">
		  <input type="radio" name="journal_radio" id="journal_radio-4" value="1476-9344">
		  European Journal of Information Systems
		</label>
	  </div>
	  <div class="radio">
		<label for="journal_radio-5">
		  <input type="radio" name="journal_radio" id="journal_radio-5" value="1365-2575">
		  Information Systems Journal
		</label>
	  </div>
	  <div class="radio">
		<label for="journal_radio-6">
		  <input type="radio" name="journal_radio" id="journal_radio-6" value="0963-8687">
		  Journal of Strategic Information Systems
		</label>
	  </div>
	  <div class="radio">
		<label for="journal_radio-7">
		  <input type="radio" name="journal_radio" id="journal_radio-7" value="0268-3962">
		  Journal of Information Technology
		</label>
	  </div>
	  <div class="radio">
		<label for="journal_radio-8">
		  <input type="radio" name="journal_radio" id="journal_radio-8" value="0167-9236">
		  Decision Support Systems
		</label>
	  </div>
	  <div class="radio">
		<label for="journal_radio-9">
		  <input type="radio" name="journal_radio" id="journal_radio-9" value="0378-7206">
		  Information and Management
		</label>
	  </div>
	  </div>
	</div>

	<!-- Article Name Input-->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="article_name">Article Name:</label>  
	  <div class="col-md-5">
	  <input id="article_name" name="article_name" type="text" placeholder="Article Name" class="form-control input-md" required="">
		
	  </div>
	</div>

	<!-- Author 1-->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="author1_name">Author 1:</label>  
	  <div class="col-md-4">
	  <input id="author1_name" name="author1_name" type="text" placeholder="Author Name" class="form-control input-md" required="">
		
	  </div>
	</div>

	<!-- Author 1 University -->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="author1_university">University:</label>  
	  <div class="col-md-4">
	  <input id="author1_university" name="author1_university" type="text" placeholder="Author University" class="form-control input-md" required="">
		
	  </div>
	</div>

	<!-- Author 2-->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="author2_name">Author 2:</label>  
	  <div class="col-md-4">
	  <input id="author2_name" name="author2_name" type="text" placeholder="" class="form-control input-md">
		
	  </div>
	</div>

	<!-- Author 2 University-->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="author2_university">University:</label>  
	  <div class="col-md-4">
	  <input id="author2_university" name="author2_university" type="text" placeholder="" class="form-control input-md">
		
	  </div>
	</div>

	<!-- Author 3-->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="author3_name">Author 3:</label>  
	  <div class="col-md-4">
	  <input id="author3_name" name="author3_name" type="text" placeholder="" class="form-control input-md">
		
	  </div>
	</div>

	<!-- Author 3 University-->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="author3_university">University:</label>  
	  <div class="col-md-4">
	  <input id="author3_university" name="author3_university" type="text" placeholder="" class="form-control input-md">
		
	  </div>
	</div>

	<!-- Author 4-->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="author4_name">Author 4: </label>  
	  <div class="col-md-4">
	  <input id="author4_name" name="author4_name" type="text" placeholder="" class="form-control input-md">
		
	  </div>
	</div>

	<!-- Author 4 University-->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="author4_university">University:</label>  
	  <div class="col-md-4">
	  <input id="author4_university" name="author4_university" type="text" placeholder="" class="form-control input-md">
		
	  </div>
	</div>

	<!-- Author 5-->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="author5_name">Author 5:</label>  
	  <div class="col-md-4">
	  <input id="author5_name" name="author5_name" type="text" placeholder="" class="form-control input-md">
		
	  </div>
	</div>

	<!-- Author 5 University-->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="author5_university">University:</label>  
	  <div class="col-md-4">
	  <input id="author5_university" name="author5_university" type="text" placeholder="" class="form-control input-md">
		
	  </div>
	</div>

	<!-- Author 6-->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="author6_name">Author 6:</label>  
	  <div class="col-md-4">
	  <input id="author6_name" name="author6_name" type="text" placeholder="" class="form-control input-md">
		
	  </div>
	</div>

	<!-- Author 6 University-->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="author6_university">University:</label>  
	  <div class="col-md-4">
	  <input id="author6_university" name="author6_university" type="text" placeholder="" class="form-control input-md">
		
	  </div>
	</div>

	<!-- Select Year Published -->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="year">Year Published</label>
	  <div class="col-md-4">
		<select id="year" name="year" class="form-control">
		  <option value="2010">2010</option>
		  <option value="2011">2011</option>
		  <option value="2012">2012</option>
		  <option value="2013">2013</option>
		  <option value="2014">2014</option>
		  <option value="2015">2015</option>
		</select>
	  </div>
	</div>

	<!-- Is Security Checkbox -->
	<div class="form-group">
	  <label class="col-md-4 control-label" for="is_security"></label>
	  <div class="col-md-4">
		<label class="checkbox-inline" for="is_security-0">
		  <input type="checkbox" name="is_security" id="is_security" value="1">
		  Security Related
		</label>
	  </div>
	</div>

	<!-- Submit Form Button -->
	<div class="form-group">
	  <div class="col-md-4 control-label">
		<button id="submit" name="submit" class="btn btn-primary">Submit</button>
	  </div>
	</div>

	</fieldset>
	</form>


	</div>';
	
	} else {
		
		$dbHost = "localhost";
		$dbUsername = "admin";
		$dbPassword = "qegc0Qfs";
		$dbName = "webdb";

		// Create connection
		$db = new mysqli($dbHost, $dbUsername, $dbPassword, $dbName);
		// Check connection
		if ($db->connect_error) {
		die("Connection failed: " . $db->connect_error);
		} else {
		// Post PHP variables
		$journal = $_POST['journal_radio'];
		$article_name = $_POST['article_name'];
		$author1 = $_POST['author1_name'];
		$author1uni = $_POST['author1_university'];
		$author2 = $_POST['author2_name'];
		$author2uni = $_POST['author2_university'];
		$author3 = $_POST['author3_name'];
		$author3uni = $_POST['author3_university'];
		$author4 = $_POST['author4_name'];
		$author4uni = $_POST['author4_university'];
		$author5 = $_POST['author5_name'];
		$author5uni = $_POST['author5_university'];
		$author6 = $_POST['author6_name'];
		$author6uni = $_POST['author6_university'];
		$year = $_POST['year'];
		$security = $_POST['is_security'];
		function authorinfoinsert($author, $number, $authoruni, $articleid, $article, $db){
				//check if Author already exists
				$authorquery = $db->query("SELECT Author_Name FROM Authors WHERE Author_Name = '$author'");
				if($authorquery->num_rows != 0) {
				   echo '<a href=""> New Input </a><br />';
				   echo 'Author ' . $number . ' - ' . $author . ' - already present<br />';
			
				} else {
					//insert author if doesnt exist
					$authorinsert = "INSERT INTO Authors (Author_Name) VALUES ('$author')";
				
					if ($db->query($authorinsert) === TRUE) {
					echo 'Author ' . $number . ' - ' . $author . ' - created successfully.<br />';
					} else {
					echo 'Error: ' . $authorinsert . '<br />' . $db->error . '<br />';
					}
				  }
				  
				// store Author Author_ID value
				
				$authorid = $db->query("SELECT Author_ID FROM Authors WHERE Author_Name = '$author'");
				
				
				//check if Author University exists
				$authoruniquery = $db->query("SELECT University_Name FROM University WHERE University_Name = '$authoruni'");
				
				if($authoruniquery->num_rows != 0) {
				   echo '<a href=""> New Input </a><br />';
				   echo 'Author ' . $number . ' University already present <br />';
			
				} else {
					//insert university if doesnt exist
					$uniinsert = "INSERT INTO University (University_Name) VALUES ('$authoruni')";
				
					if ($db->query($uniinsert) === TRUE) {
					echo 'Author ' . $number . ' University - ' . $authoruni . ' - created successfully.<br />';
					} else {
					echo 'Error: ' . $uniinsert . "<br>" . $db->error . '<br />';
					}
				  }
				
				// store Author University_ID value
				$authoruniid = $db->query("SELECT University_ID FROM University WHERE University_Name = '$authoruni'");
				echo $authoruniid;
				//Enter Author and Article in Articles_Authored
				$authoredquery = $db->query("SELECT Author_ID, Article_ID FROM Articles_Authored WHERE Author_ID = '$authorid' AND Article_ID ='$articleid'");
				if($authoredquery->num_rows != 0) {
				   echo '<a href=""> New Input </a><br />';
				   echo 'Article Authored entry for Author ' . $number . ' - ' . $author . ' - already present<br />';
			
				} else {
				$articlesauthoredinsert = "INSERT INTO Articles_Authored (Article_ID, Author_ID, Name_Authored_As) VALUES ('$articleid','$authorid','$author')";
				
					if ($db->query($articlesauthoredinsert) === TRUE) {
					echo 'Article Authored - Author ' . $number . ' - created successfully <br />';
					} else {
					echo 'Error: ' . $articlesauthoredinsert . "<br>" . $db->error . '<br />';
					}
				}
				
				//Enter Author University instance in Author_University
				$authoruniinsert = "INSERT INTO Author_University (Article_ID, Author_ID, University_ID) VALUES ('$articleid','$authorid','$authoruniid')";
				
					if ($db->query($authoruniinsert) === TRUE) {
					echo 'University instance for Author ' . $number  . ' created successfully<br />';
					} else {
					echo 'Error: ' . $authoruniinsert . "<br>" . $db->error . '<br />';
					}
				}

				
				
		  //check if article exist
		  $articlequery = $db->query("SELECT Article_Title, ISSN FROM Articles WHERE Article_Title = '$article_name' AND ISSN = '$journal'");
		  if($articlequery->num_rows != 0) {
			   echo '<a href=""> New Input </a><br />';
			   echo "<script type= 'text/javascript'>alert('Article Already Present');</script>";
		
		  } else {

				//insert article if doesn't exist	
				$articleinsert = "INSERT INTO Articles (ISSN, Year_Published, Is_Security, Article_Title)
				VALUES ('$journal','$year','$security','$article_name')";

					if ($db->query($articleinsert) === TRUE) {
					echo 'New Article - ' . $article_name . ' - created successfully<br />';
					} else {
					echo 'Error: ' . $articleinsert . "<br>" . $db->error . '<br />';
					}
				// store Article_ID value
				$articleid = $db->query("SELECT Article_ID FROM Articles WHERE Article_Title = '$article_name' AND ISSN = '$journal'");
				
				//insert author 1 info
				authorinfoinsert($author1, 1, $author1uni, $articleid, $article, $db);
				//check if Author 2 has input
				if (isset($author2)){
					authorinfoinsert($author2, 2, $author2uni, $articleid, $article, $db);				
				}
				
				//check if Author 3 has input
				if (isset($author3)){
					authorinfoinsert($author3, 3, $author3uni, $articleid, $article, $db);			
				}
				//check if Author 4 has input
				if (isset($author4)){
					authorinfoinsert($author4, 4, $author4uni, $articleid, $article, $db);			
				}
				
				//check if Author 5 has input
				if (isset($author5)){
					authorinfoinsert($author5, 5, $author5uni, $articleid, $article, $db);			
				}

				//check if Author 6 has input
				if (isset($author6)){
					authorinfoinsert($author6, 6, $author6uni, $articleid, $article, $db);			
				} else{
					
					$db->close();
					
				}
			}
		}
	}
?>


</body>
</html>

克里斯·埃文斯

好的,根据您告诉我的内容,您正在尝试将该对象用作字符串,这就是为什么它不起作用的原因。

$ authorid只是$ db-> query(); 它返回一个您需要进行处理的对象。在这种情况下,您需要像这样从中获取结果:

$result = $db->query("SELECT Author_ID FROM Authors WHERE Author_Name = '$author'");
$row = $result->fetch_assoc();
$authorid = $row['Author_ID'];

试试看:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用PHP将SQL查询结果存储在变量中?

来自分类Dev

mysqli查询中的变量

来自分类Dev

将动态查询的结果存储在变量中

来自分类Dev

将查询结果存储在 hive 变量中

来自分类Dev

将第一个结果值存储到PHP中的sql查询变量中

来自分类Dev

将第一个结果值存储到PHP中的sql查询变量中

来自分类Dev

如何将连接的 MYSQL 字符串查询存储到 PHP 变量中?

来自分类Dev

将公共密钥存储在变量php中

来自分类Dev

将CSS存储在PHP变量中?

来自分类Dev

将php exec存储在会话变量中

来自分类Dev

PHP将变量存储在缓存中

来自分类Dev

php将变量存储到数组中

来自分类Dev

将div ID存储在php变量中?

来自分类Dev

如何在PHP中执行存储在变量中的SQL查询

来自分类Dev

将选择查询的结果存储到数组变量中

来自分类Dev

将xpath的结果存储到变量中以帮助将来查询

来自分类Dev

如何将knex查询存储在变量中?

来自分类Dev

无法获取将结果存储到变量中的SQL查询

来自分类Dev

将SQL查询结果存储在pentaho变量中

来自分类Dev

如何将mongodb查询结果存储在变量中?

来自分类Dev

无法获得SQL查询以将结果存储到变量中

来自分类Dev

将 mysql 查询行存储在变量中以备后用

来自分类Dev

如何将查询结果存储在变量中

来自分类Dev

将当前会话存储在变量中以在 MySQL 查询中使用

来自分类Dev

将PHP变量的值存储在javascript变量中

来自分类Dev

将PHP变量的值存储在javascript变量中

来自分类Dev

如何将JavaScript变量存储到PHP变量中?

来自分类Dev

PHP中的MySQLi查询错误

来自分类Dev

PHP中的MySQLi查询错误