简单的 php - mysql 选择和插入
Posted
技术标签:
【中文标题】简单的 php - mysql 选择和插入【英文标题】:Simple php - mysql select and insert 【发布时间】:2020-10-14 12:28:34 【问题描述】:我不是程序员(呵呵),我只需要制作一个非常简单的工具来填充 sql 数据库。首先我有带有表单的html:
<form action="http://localhost:8081/phpSearch.php" method ="post">
Enter code: <input type="text" name="search"><br>
<input type ="submit">
</form>
然后应该连接到mysql的php,根据输入(代码,名称)在一个表中搜索数据,然后用结果填充另一个表。而且我只是想念要放什么而不是问号。
<?php
$search1 = $_POST['search'];
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "mydb";
$conn = new mysqli($servername, $username, $password, $dbname);
$sql = "SELECT code,name FROM users WHERE code LIKE '%$search1%'";
$sql2 = "INSERT INTO newUsers (newCode,newName) VALUES ('$search1', ??????)";
$conn->close();
?>
我很确定这对各位专家来说很容易,所以提前致谢。
【问题讨论】:
这可能会帮助你php.net/manual/en/mysqli.examples-basic.php 你错过了更多。仍然必须执行查询。我是否正确地假设此代码不会被陌生人使用,他们可能会尝试破解您的数据库? 我们帮助修复您的代码 - 而不是制作它。 .. 什么不适用于您的现有代码?我们需要这些信息来提供帮助。 .. 请提供更多上下文,说明您上面的代码出了什么问题以及您要完成什么。同样如前所述,将需要执行那些 $sql 查询 可能值得看一下 MySQL 中的 INSERT...SELECT 查询 -***.com/questions/42784178/… 【参考方案1】:您实际上可以在单个 SQL 查询中执行此操作:
$search1 = "%".$_POST['search']."%";
$sql = "INSERT INTO newUsers (newCode, newName) SELECT code, name FROM users WHERE code LIKE ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("s", $search1);
$stmt->execute();
这会将 SELECT 查询的所有结果直接插入到另一个表中,而不需要 PHP 中的任何中间处理。有关INSERT...SELECT
查询格式的更多信息,请参见here。
注意我使用了准备好的语句和参数——它们既可以安全地执行查询,又可以降低意外语法错误的风险。你可以得到更多这个here的例子。
此外,在实际应用程序中,您不应从 Web 应用程序以 root 身份登录 - 而是为该应用程序创建一个 SQL 帐户,该帐户仅具有它实际需要的权限。
【讨论】:
就是这样,非常感谢!这很简单,而且很有效。其他想法也不错,但我无法让它们发挥作用。谢谢大家的帮助,只是为了澄清一下-我知道我需要修复登录问题(root),但是当我拥有必要的功能时,这将在稍后进行。此外,该解决方案将在具有本地 WAMP 服务器的隔离 PC 上运行,因此我目前不需要特别的安全性。再次感谢!以上是关于简单的 php - mysql 选择和插入的主要内容,如果未能解决你的问题,请参考以下文章