这是我的fonction.php:
<?php
function connect(){
$servername = "localhost";
$username = "xxx";
$password = "xxxx";
$dbname = "xxx";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
}
?>
但当我想调用此函数时,它不适用于我的代码:
<?php
include("fonctions.php");
?>
<html>
<form name="inscription" method="post" action="form.php">
xxx : <input type="text" name="xxx"/> <br/>
xxx: <input type="text" name="xxx"<br/>
<input type="submit" name="valider" value="OK"/>
</form>
<?php
if (isset ($_POST['valider'])){
$titre=$_POST['xxx'];
$auteur=$_POST['xxx'];
connect();
$sql = 'INSERT INTO xxx (`xxx`, `xxx`) VALUES("'.$xxx.'","'.$xxx.'")';
}
?>
</body>
</html>
在我使用mysql\u connect之前,我的想法是这样的:
<?php
function connect(){
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('MaBase', $base) ;
}
?>
用mysql参数创建一个好的include的最佳方法是什么?谢谢大家的帮助。
4条答案
按热度按时间kuhbmx9i1#
应该是,
你的问题应该是,
你应该去参观/学习oop的基本知识
erhoui1w2#
上面的答案似乎都漏掉了,你有两个同名的变量:
两者都称为$
如果您认为公共变量的名称不应该在这里公开显示,并将它们更改为“”,那么请编辑您的问题,不要将它们更改为相同的名称(例如更改为$name和$password)
jdgnovmf3#
在sql语句中使用变量时,包括关于使用pdo或mysqli的强制性语句和准备好的语句。。。
您没有向函数传递要使用的sql语句,也没有定义
$sql
在函数中。定义它,然后再调用它
您还需要函数返回某种值。
我所做的是创建一个通用函数,它接受一个sql语句和一个位置参数数组,然后该函数使用pdo和prepared语句使用这些参数执行查询,然后返回一个包含适当数据的数组$ret[0]是表示成功的bool,如果为false,则[2..n]包含错误消息,如果为true,则[2..n]包含select的返回记录集,受更新、删除影响的行数,以及insert语句的最后一个插入id(通过在查询字符串上使用正则表达式检测)
写一次,然后
require_once()
在我工作的大学里有15个网络应用程序。ezykj2lf4#
对此,我建议你使用面向对象的方法,我只是建议你用我自己的方法,你可以尝试不同的方法,在我的答案没有问题,我使用两个类第一类做所有的数据库连接和mysqli真正的转义转换和人员其他类是查询类它的处理所有的查询人员
database.class.php//数据库连接
正如你在结尾看到的,我创建了一个函数调用illcallothers,这个函数只需要2个参数就可以处理你的查询
已创建语句
函数编号
这里面有三个选项
如果调用$query->illcallothers($stmt,1),则只为execute best for delete and insert调用函数,因为如果成功,则返回1
如果您调用$query->illcallothers($stmt,2),这个函数将返回行数,这些行数对于使用while之前检查it数据是否可用是最好的
如果调用$query->illcallothers($stmt,3),这将返回查询的结果集
现在让我们来看看你的问题