在处理MySQL表时第一次遇到这个问题.
我在表格中插入条形码.如果该栏被称为"Tim's Bar"并且我立即将其插入,则会收到错误并且未插入数据.
你怎么正确地在桌子上?
我是SQL/PHP的新手,我无法克服错误消息:
"You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version
for the right syntax to use near '1',"
Run Code Online (Sandbox Code Playgroud)
我正在尝试调试此错误,但我在脚本中查找"1"并且我只有这一点:
//enter information into table
$sql = "INSERT INTO $_SESSION[table_name] VALUES
('$_POST[first_name]', '$_POST[last_name]', '$_POST[user_name]',
password('$_POST[password]'), 'Administrators', '', '', '0', '$_SESSION[admin_email]',
'$_POST[redirect_to]', '1', '$date')";
$result = @mysql_query($sql,$connection) or die(mysql_error());
if($result)
{...
Run Code Online (Sandbox Code Playgroud)
我没有发现任何问题.
我不知道如何调试这个,我该如何继续查找错误?任何线索?
我不确定我是否在正确的位置查看脚本,但这是我有'1'的唯一条目,错误消息告诉我要看...
检查手册后,SQL中的语法似乎是正确的......我在WAMP服务器中使用MySQL 5.5.24.
我正在尝试安装" Login-Redirect v1.31 "进行用户身份验证.
如果有人能帮助我,我真的很感激!
我一直想知道如果在注册期间用户名和/或电子邮件是重复的,如何签入MySQL表.这是我到目前为止所尝试的但无济于事:
$username = $_POST['username'];
$sq = $db->exec("SELECT * FROM `users` WHERE `username` = '$username'");
if ($sq->rowCount() > 0)
{
$msg = "That username is already taken.";
$error = true;
}
$email = $_POST['email'];
$sq = $db->exec("SELECT * FROM `users` WHERE `email` = '$email'");
if ($sq->rowCount > 0)
{
$msg = "That email is already taken.";
$error = true;
}
if (!error)
{
//add to db
}
Run Code Online (Sandbox Code Playgroud)
这给出的错误是 Call to a member function rowCount() on a non-object
能否请你帮忙?
我试图在一个简单的访问数据库中搜索数据.代码是这样的
Call connect()
con.Open()
cmd = New OleDbCommand("Select * from PO_Record_Table where Customer=asd", con)
dr = cmd.ExecuteReader
While dr.Read
MsgBox(dr(1))
End While
con.Close()
Run Code Online (Sandbox Code Playgroud)
如果我按下搜索按钮,则错误:此行上没有给出一个或多个必需参数的值
dr = cmd.ExecuteReader
Run Code Online (Sandbox Code Playgroud)
记录"asd"在数据库客户字段中作为文本类型.为什么会出现此错误以及如何在没有错误的情况下完成此搜索?
我使用以下内容为变量设置日期值:
Dim someDate As DateTime = Date.Today.AddDays(1)
nextMonday = someDate
While nextMonday.DayOfWeek <> DayOfWeek.Monday
nextMonday = nextMonday.AddDays(1)
End While
Run Code Online (Sandbox Code Playgroud)
然后,我使用以下内容将日期插入SQL Server表:
Private Sub CButton1_ClickButtonArea(Sender As Object, e As MouseEventArgs) Handles CButton1.ClickButtonArea
Dim doenditstring As String = "INSERT INTO Parsversoeke (ma_datum,di_datum) " & _
"VALUES (" & _
"'" & nextMonday & "'," & _
"'" & nextTuesday & "')"
cnn.Open()
Dim aksie As New SqlClient.SqlCommand(doenditstring, cnn)
aksie.ExecuteNonQuery()
cnn.Close()
Run Code Online (Sandbox Code Playgroud)
它有效,除了我只能在两个日期做.之后我收到以下错误:
从字符串转换日期和/或时间时转换失败
有谁知道我为什么会收到错误?
我在ASP.NET中创建一个简单的项目,并使用此代码继续登录,检测角色并打开确切的页面.
string cmdText = "SELECT Username,Role FROM Login WHERE Username = '" + TextBox1.Text + "' AND Password = '" + TextBox2.Text + "'";
string username = "";
string role = "";
using (SqlCommand SelectCommand = new SqlCommand(cmdText, connectionstring))
{
SqlDataReader myReader;
connectionstring.Open();
myReader = SelectCommand.ExecuteReader();
while (myReader.Read())
{
username = myReader["Username"].ToString();
role = myReader["Role"].ToString();
}
myReader.Close();
Response.Redirect(role + ".aspx");
}
Run Code Online (Sandbox Code Playgroud)
我设置它role+".aspx"是因为我在if函数中遇到了一些奇怪的错误..它无法正常工作..
但仍然有问题重定向到页面..我注意到了这一点
因此,我对这个错误感到困惑,于是我决定检查SQL Server中的数据,并且有:
角色之后有5个空格.我试图删除它们.但是在保存数据后再次出现空间...我注意到同样的事情是名称和密码
但现在有9个空格..看起来像SQL Server Management Studio试图填写最多10个字母......
Username,password并且role是nchar(10)类型..是问题吗? …
我正在使用以下代码来计算locations表中的数量:
$result = mysqli_query($conn,"SELECT location FROM table ORDER BY location");
$aloc_list = array();
while ($row = mysqli_fetch_array($result))
{$aloc_list[] = $row['location'];
}
print_r(array_count_values($aloc_list));
Run Code Online (Sandbox Code Playgroud)
这给了我以下数组:
Array
(
[CANADA] => 106
[USA] => 547
[MEXICO] => 93
[GREAT_BRITAIN] => 111
[EASTERN_EUROPE] => 227
[RUSSIA] => 405
[CHINA] => 341
[INDIA] => 253
)
Run Code Online (Sandbox Code Playgroud)
我试图'提取'数组值并将它们放在一个变量中,但似乎没有任何效果:
$canada = $aloc_list[0];
$canada = $aloc_list['CANADA'];
$canada = $aloc_list[0]['CANADA'];
$canada = $aloc_list[0];
Run Code Online (Sandbox Code Playgroud)
我想最终得到一个名为$canada等于106的变量,一个名为$usa等于547 的变量,等等.
我该如何做到这一点?
我有一个非常简单的查询有点问题,当我硬编码查询中的值时它的工作,但当我使用PHP变量没有任何东西被检索,我检查了很多东西,包括查询,数据库值得说我通过POST从表单中获取变量,并检查我是否正在获取它们但是当我在查询中使用它们时它们不能正常工作:S
这是我的代码..PLZ我做错了什么?!!!!!!!!!!!
<?php
$email = $_POST ['emailEnter'] ;
$password = $_POST ['passwordEnter'];
$connection = mysql_connect('localhost','root','') ;
$db_selected = mysql_select_db("lab5" , $connection) ;
$query = 'select * From user where email="$email" and password="$password" ' ;
$result = mysql_query ($query , $connection);
while($row=mysql_fetch_array($result))
{
echo $row['name'];
}
mysql_close($connection);
?>
Run Code Online (Sandbox Code Playgroud) 我必须在下面编码 - 更新
PHP代码
if(empty($_POST['formEmail']))
{
$errorMessage .= "<li>You forgot to enter your email</li>";
}
$varEmail = $_POST['formEmail'];
if(empty($errorMessage))
{
$db = mysql_connect("servername","username","password");
if(!$db) die("Error connecting to MySQL database.");
mysql_select_db("tableName" ,$db);
$sql = "INSERT INTO emails(email) VALUES ('$varEmail')";
mysql_query($sql);
echo "Details added";
$_SESSION['status'] = 'success';
}
exit();
}
function PrepSQL($value)
{
// Stripslashes
if(get_magic_quotes_gpc())
{
$value = stripslashes($value);
}
// Quote
$value = "'" . mysql_real_escape_string($value) . "'";
return($value);
}
?>
Run Code Online (Sandbox Code Playgroud)
表格代码
<?php
if(!empty($errorMessage))
{
echo("<p>There was an error with …Run Code Online (Sandbox Code Playgroud) 错误地标记为重复 - 请参阅下面的答案
基本设置 - 我有一个应用程序上下文和一个用作 DAO 的抽象:
某个实体:
public class SomeEntity
{
public string MyProp { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
数据库上下文:
public class ApplicationContext : DbContext
{
public DbSet<SomeEntity> SomeEntities { get; set; }
/* Rest of the DbContext doesn't matter. */
}
Run Code Online (Sandbox Code Playgroud)
道:
public class DAO
{
private readonly DbSet<SomeEntity> _dbSet;
public DAO(ApplicationContext context)
{
_dbSet = context.SomeEntities;
}
public IEnumerable<SomeEntity> Where(Func<SomeEntity, bool> predicate)
{
return _dbSet.Where(predicate);
}
}
Run Code Online (Sandbox Code Playgroud)
用法:
Dao dao = new Dao(/* whatever for instantiation …Run Code Online (Sandbox Code Playgroud)