我使用下面的代码上传文件并使用mysqli将数据插入"Image"表:
<?php
session_start();
$username="xxx";
$password="xxx";
$database="mobile_app";
$mysqli = new mysqli("localhost", $username, $password, $database);
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
die();
}
$result = 0;
//UPLOAD IMAGE FILE
move_uploaded_file($_FILES["fileImage"]["tmp_name"], "ImageFiles/" . $_FILES["fileImage"]["name"]);
$result = 1;
//INSERT INTO IMAGE DATABASE TABLE
$imagesql = "INSERT INTO Image (ImageFile) VALUES (?)";
if (!$insert = $mysqli->prepare($imagesql)) {
// Handle errors with prepare operation here
}
//Dont pass data directly to bind_param store it in a variable
$insert->bind_param("s", $img);
//Assign the …Run Code Online (Sandbox Code Playgroud) 在旧的mysql()代码中,为转义字符串,我这样做:
t.TeacherUsername = '".mysql_real_escape_string($teacherusername)."'
Run Code Online (Sandbox Code Playgroud)
我正在将代码更改为mysqli,但是我想确定并安全起见,要在mysqli中转义字符串,是这样的:
t.TeacherUsername = '".mysqli_real_escape_string($teacherusername)."'
Run Code Online (Sandbox Code Playgroud)
也要连接到mysqli数据库,它是这样的:
$username="xxx";
$password="xxx";
$database="xxx";
mysqli_connect('localhost',$username,$password);
mysqli_select_db($database) or die( "Unable to select database");
Run Code Online (Sandbox Code Playgroud)
我所做的就是将mysql更改为mysqli,对吗?
更新:
现在这是使用mysqli连接数据库的正确方法吗:
$username="xxx";
$password="xxx";
$database="mobile_app";
$mysqli = new mysqli("localhost", $username, $password, $database);
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
Run Code Online (Sandbox Code Playgroud) 在sql中有关于密码的问题:
下面的代码通过随机生成10个字符的字符串来限制特定密码:
Update Teacher
SET TeacherSalt = SUBSTRING(MD5(RAND()), -10),
TeacherPassword = SHA1(CONCAT('009b9b624aaecc4b3217dcd4bfee15ab704745d7',SUBSTRING(MD5(RAND()), -10)))
WHERE TeacherPassword = '009b9b624aaecc4b3217dcd4bfee15ab704745d7'
Run Code Online (Sandbox Code Playgroud)
但我的问题是我想要更改盐,以便它生成的字符串来自所有这些字符:
./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
有63个字符.php的方式如下:
$salt = "";
for ($i = 0; $i < 40; $i++) {
$salt .= substr(
"./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",
mt_rand(0, 63),
1);
}
Run Code Online (Sandbox Code Playgroud)
但是我怎么能用上面的sql方式写这个呢?
我想修剪文本框开头的任何空格,并修剪文本框末尾的任何空格.所以我在一个网站上发现了这个代码,它假设在开头,结尾和中间的多个空格中删除空格:
function trim(s) {
s = s.replace(/(^\s*)|(\s*$)/gi,"");
s = s.replace(/[ ]{2,}/gi," ");
s = s.replace(/\n /,"\n");
return s;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,首先,3行代码中的哪一行是在中间修剪空格的那一行,因为我不需要那一行.但主要问题是如何让文本框访问此功能?
我尝试使用onkeypress但这没有用,下面是我尝试过的:
<p>Search: <input type="text" name="questioncontent" onkeypress="return trim(s)" /></p>
Run Code Online (Sandbox Code Playgroud)
所以我想要的是,例如,如果在文本框中输入此短语"我的名字是皮特".然后它应该删除开头和结尾的空格,使其显示为"我的名字是皮特".但是我该如何让它发挥作用呢?
更新:
发现trim()是jQuery,所以有人可以手动编码以删除文本框开头和结尾的空格吗?
感谢youtube上的精彩视频,如果你愿意,你可以在这里访问,我能够创建一个php搜索引擎.以下是代码:
<?php
//connected to DB
foreach (array('questioncontent') as $varname) {
$questioncontent = (isset($_GET[$varname])) ? $_GET[$varname] : '';
}
?>
<form action="previousquestions.php" method="get">
<p>Search: <input type="text" name="questioncontent" value="<?php echo $questioncontent; ?>" /></p>
<p><input id="searchquestion" name="searchQuestion" type="submit" value="Search" /></p>
</form>
<?php
if (isset($_GET['searchQuestion'])) {
$searchquestion = $questioncontent;
$terms = explode(" ", $searchquestion);
$questionquery = "SELECT * FROM Question WHERE ";
foreach ($terms as $each){
$i++;
if ($i == 1){
$questionquery .= "QuestionContent LIKE '%$each%' ";
} else{
$questionquery .= "OR …Run Code Online (Sandbox Code Playgroud) 我有一个数据库字段存储这样的密码:
TeacherPassword
j.lu01
pesci02
cricket01
Run Code Online (Sandbox Code Playgroud)
现在我有一个文本框,用户输入密码,如果它与其中一行匹配,则导航到下一页.下面是检查密码的代码.
$teacherpassword = (isset($_POST['teacherpassword'])) ? $_POST['teacherpassword'] : '';
if (isset($_POST['submit'])) {
// don't use $mysqli->prepare here
$query = "SELECT * FROM Teacher WHERE TeacherPassword = ? LIMIT 1";
// prepare query
$stmt=$mysqli->prepare($query);
// You only need to call bind_param once
$stmt->bind_param("s",$teacherpassword);
// execute query
$stmt->execute();
// get result and assign variables (prefix with db)
$stmt->bind_result($dbTeacherPassword);
Run Code Online (Sandbox Code Playgroud)
但我所做的是我更新了密码字段,以便该字段不会将passwrod显示为字符串,而是显示为一堆字符,以便他们的密码是安全的.以下是我做的更新:
UPDATE Teacher
SET TeacherPassword = Password(TeacherPassword);
Run Code Online (Sandbox Code Playgroud)
这导致密码字段现在看起来像这样:
TeacherPassword
*6FF132E0666AC8462BC
*FCF5F8CE105D0748315
*FD4FA4B60EEF1E24050
Run Code Online (Sandbox Code Playgroud)
那么我的问题是,在我的MYsqli代码中,如何在文本框中输入字符串密码j.lu01以匹配数据库行中的哈希密码*6FF132E0666AC8462BC?
我使用galleria滑块作为jquery滑块和jwplayer来显示视频.问题是它不会在滑块中显示jwplayer,它只显示一个黑色方块.我让它为图像工作,但无法让它适用于视频播放器jwplayer.知道如何操作的人可以修改下面的代码,以便它在我的应用程序中工作吗?
环球免税店:http://galleria.io/docs/
jwplayer:http://www.longtailvideo.com/jw-player/
<?php if(count($arrVideoFile[$key]) > 1){ ?>
<style>
#galleriavideo_<?php echo $key; ?>{ width: 500px; height: 300px; background: #000 }
</style>
<div id="galleriavideo_<?php echo $key; ?>">
<?php foreach ($arrVideoFile[$key] as $v) { ?>
<div id="myElement-<?php echo $key.'-'.$i; ?>">Loading the player...
<script type="text/javascript">
jwplayer("myElement-<?php echo $key.'-'.$i; ?>").setup({
file: "<?php echo 'VideoFiles/'.$v; ?>",
width: 480,
height: 270
});
<?php $i++; ?>
</script>
</div>
<?php } ?>
</div>
<script type="text/javascript">
Galleria.loadTheme('jquery/classic/galleria.classic.min.js');
Galleria.run('#galleriavideo_<?php echo $key; ?>');
</script>
<?php …Run Code Online (Sandbox Code Playgroud) 我在这里有一个应用程序,当用户点击加号按钮时,它会显示一个模态窗口.
问题是我希望关闭按钮出现在窗口的右侧,与"PREVIOUS QUESTIONS"标题位于同一行.但它似乎根本没有向右移动.我究竟做错了什么?
以下是代码:
HTML:
<div class="previouslink">
<h1>PREVIOUS QUESTIONS</h1>
<button type="button" id="close" onclick="return closewindow();">Close</button>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
#close{
float:right;
display:block;
margin-right:0px;
clear:left;
}
Run Code Online (Sandbox Code Playgroud) 我有一个模态窗口,但我想设置一个关闭功能,以便当用户单击“按钮”时,它将关闭模态窗口。有谁知道这是如何实现的?
我有该应用程序的链接,因此您可以在此处查看
下面是javascript代码,它显示了打开模态窗口的功能以及我想放置代码以关闭模态窗口的位置的设置功能:
function plusbutton() {
$(".previouslink").modal();
return false;
}
function closewindow() {
return false;
}
Run Code Online (Sandbox Code Playgroud)
以下是用户单击加号按钮并显示“previouslink”div 标签中的内容的表单代码:
<form id="QandA" action="imageupload.php" method="post">
<h1>CREATING QUESTIONS AND ANSWERS</h1>
<table id="plus" align="center">
<tr>
<th><a onclick="return plusbutton();">
<image src="Images/plussign.jpg" width="30" height="30" alt="Look Up Previous Question" class="plusimage"/>
</a><span id="plussignmsg">(Click Plus Sign to look <br />
up Previous Questions)</span> </th>
</tr>
</table>
<div class="previouslink">
<h1>PREVIOUS QUESTIONS</h1>
<button type="button" id="close" onclick="return closewindow();">Close
</button></div>
</form>
Run Code Online (Sandbox Code Playgroud) 可能重复:
如何将下一个最高编号插入数据库
我正在使用MYSQL
我有一个名为TeacherId的列,它是自动递增的,如下所示:
TeacherId
1
2
3
4
Run Code Online (Sandbox Code Playgroud)
我想要做的是在数字前添加字母'T',使其变为:
TeacherId
T1
T2
T3
T4
Run Code Online (Sandbox Code Playgroud)
如何更新或更改表来执行此操作?
以下是我的尝试,但它不起作用:
UPDATE Teacher SET TeacherId = CONCAT('T',TeacherId)
Run Code Online (Sandbox Code Playgroud) 以下是我目前使用的代码:
$form = "
<form action='echo htmlentities($_SERVER["PHP_SELF"]);' method='post'>
<table>
<tr>
<td>Username</td>
</td><input type='text' name='user' value='$getuser' /></td>
</tr>
</table>
</form>";
?>
Run Code Online (Sandbox Code Playgroud)
上面的代码给了我这个错误:
Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in ... on line 27
Run Code Online (Sandbox Code Playgroud)
如果我改变这个:["PHP_SELF"]对此['PHP_SELF'],我收到这个错误:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in ... on line 27
Run Code Online (Sandbox Code Playgroud)
我如何修复上面的表单操作,以便它停止返回解析错误?
我只需要澄清一下.
我有以下代码:
if ((!$username) && (!$userid))
Run Code Online (Sandbox Code Playgroud)
但我想在此代码中包含一个isset.输入的正确方法如下:
if ((!isset($username)) && (!isset($userid)))
Run Code Online (Sandbox Code Playgroud)
谢谢